Précédent   Forum des professionnels en informatique > Systèmes > Linux > Réseau
Réseau Vos questions autour des réseaux et télécoms sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 16h15   #1
Invité de passage
 
Inscription : novembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 11
Points : 0
Points : 0
Par défaut Envoie de mail en masse ( avec postfix )

Bonjour à tous,

J'ai besoin d'envoyer un très grand nombre de messages par jours, et posftix ne me permet pas d'envoyer plus de 40 messages par minutes, surtout à cause des domaines @orange.fr et @wanadoo.fr.

J'aimerais en envoyer au moins 500 par minute, afin de faire une mailing list.

J'aimerais donc savoir si certains d'entre vous on du retour d'expérience sur postfix et le mailing.

Merci d'avance.
dtom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2011, 17h13   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
tu n'as pas de limite, hormis la limite des receveurs/dispatcheurs.

personellement je faisait des envois massif de marketing depuis une base de donnée avec un résultat d'environ 10000 par heure réellement reçus.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
 
#!/bin/sh
# pour entete dans le log
echo '########' >> /var/log/newmail
echo $(date +%Y.%m.%d--%H:%M)" "$0" se lance" >> /var/log/newmail
#
. /root/scripts/.pass
# charger les variables d'environnement
ret=0
 
 
# genere les script SQL
# act_id | act_ens_id | act_om_id | act_value | act_number | act_date_add | act_liste_generated | act_done
gen()
{
[ -f /tmp/tmp.sql ] && rm /tmp/tmp.sql
cat > /tmp/tmp.sql << EOT
use SeeBadge_ens ;
select act_id,act_value,act_value2 from action_marketing  where act_done=1 and act_liste_generated=1 limit 1,1 \G
select * from liste_marketing ;
EOT
}
#Ajouter un select count 
# pour en gerer la variable et 
# generer une boucle de gen_listeadresses + envoi_mail
 
 
# cree la liste d'adresses de destination du mail
# en chargeant les variables TITRES, CORP, ID, et listeadresses
gen_listeadresses()
{
        mysql -u root -p$pass < /tmp/tmp.sql > /tmp/datas.tmp
        listeadresses=$(grep '@' /tmp/datas.tmp | awk '{print $2}' | sed 's/mail\ //;s/$/,/g')
        TITRE=$(grep "act_value:" /tmp/datas.tmp | sed 's/.*act_value://')
        CORP=$(grep "act_value2:" /tmp/datas.tmp | sed 's/.*act_value2://')
        ID=$(grep "act_id:" /tmp/datas.tmp | sed 's/act_id://;s/.*act_value2://;s/act_val.*//;s/\t//')
 
        if [ $(echo ${ID} | grep "[0-9]") = 1 ] ; then 
 # on a pas de mail a envoyer
                exit 0 
        fi
        # rentrer la act_liste_generated=0 dans la base
cat > /tmp/tmp.sql << EOT
use SeeBadge_ens ;
update action_marketing set act_liste_generated=0 where act_id=${ID} ; 
EOT
        mysql -u root -p$pass < /tmp/tmp.sql 
        # une liste de mail a ete trouvee
}
 
 
#genere le corp du mail depuis la variable CORP
gen_corp()
{
(
        echo "<html><body>"
        echo ${CORP}
        echo "</body></html>"
) > /tmp/NEWMAIL.htm
}
 
 
# realise la mise en file d'attende des mails pour laisser la main
# a postfix pour l'envoi concret
envoi_mail()
{
gen_corp
# pour tests :
# echo ${CORP} | mutt -s "$(echo ${TITRE})" -b ${listeadresses} contact@citymediacard.eu
# fin tests ;
(
        echo "From: contact@citymediacard.eu"
        echo "bcc: ${listeadresses}"
       echo "subject: ${TITRE}"
        echo "MIME-Version: 1.0"
        echo "Content-Type: text/html"
        echo "Content-Disposition: inline"
        cat /tmp/NEWMAIL.html
) | mutt -b ${listeadresses} contact@citymediacard.eu
cat > /tmp/tmp.sql << EOT
use SeeBadge_ens ;
update action_marketing set act_done=0 where act_id=${ID} ; 
EOT
        mysql -u root -p$pass < /tmp/tmp.sql 
        # les emails sont tous en file d'attente postfix
}
 
# CORP DE SCRIPT
# garder l'historique des execution de check.
gen
if [ $? -eq 0 ] ; then ret=$? ; echo "Pas de mails a emettre" >> /var/log/newmail ; else exit $? ; fi
gen_listeadresses
if [ $? -eq 0 ] ; then ret=$? ; echo "gen_listeadresses" >> /var/log/newmail ; else exit $? ; fi
echo $(date +%Y%m%d-%H%M)" "$0" genere la liste de mail" >> /var/log/newmail
envoi_mail
if [ $? -eq 0 ] ; then ret=$? ; echo "envoi_mail" >> /var/log/newmail ; else exit $? ; fi
echo $(date +%Y%m%d-%H%M)" "$0" envoi les mails a ${listeadresses} " >> /var/log/newmail
[ -f /tmp/NEWMAIL.html ] &&  rm /tmp/NEWMAIL.html
[ -f /tmp/tmp.sql ] && rm /tmp/tmp.sql
exit $ret
# sortie 0 = ok
par contre la config postfix utilisé à l'époque je n'y plus accès .
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2011, 17h49   #3
Invité de passage
 
Inscription : novembre 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 11
Points : 0
Points : 0
Bonjour,

J'ai oublié de préciser que l'envoie de mail se fais à l'aide de interspire email marketer.

Les messages sont bien mis en queue, mais ne s'écoule pas trés rapidement.

Surtout dû à des erreurs de "too many request...".

Voici la config :
main.cf
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
[root@ns204980 ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
default_destination_concurrency_limit = 3
html_directory = no
inet_protocols = all
initial_destination_concurrency = 2
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 5d
mydomain = poolmediacenter.com
myhostname = poolmediacenter.com
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
readme_directory = /usr/share/doc/postfix-2.7.0/README_FILES
sample_directory = /usr/share/doc/postfix-2.7.0/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_destination_concurrency_limit = 3
smtp_destination_recipient_limit = 50
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination permit_inet_interfaces
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = encrypt
unknown_local_recipient_reject_code = 550
et du master.cf

Code :
1
2
 
smtp      inet  n       -       n       -       1       smtpd
dtom99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h27.


 
 
 
 
Partenaires

Hébergement Web