Page 1 sur 2

Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 09:56
par Damien34
Bonjour,

Tout d'abord merci pour ce site et ce forum où je viens depuis des années... aujourd'hui je me suis inscris pour poser une question.

Je suis en train de créer un script pour envoyer des emails en masse, en fait un service de "newsletter" permettant aux membres de mettre un formulaire sur leur site etc.
Bref ma question est d'après vous est-ce que la fonction "mail()" est suffisante?
Quelles seraient les règles pour éviter que les services de webmail (gmail, hotmail, yahoo etc.) ne blackliste mon service?!
-> En sachant que le but serait de rendre obligatoire un double opt-in...

Merci beaucoup pour votre aide...

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 12:24
par stealth35
Bref ma question est d'après vous est-ce que la fonction "mail()" est suffisante?
c'est marqué dans la doc :

http://php.net/manual/fr/function.mail.php
Note:

Il est important de noter que la fonction mail() n'est pas conseillée pour traiter de gros volumes de mails dans une boucle. Cette fonction ouvre et ferme un socket SMTP pour chaque mail, ce qui n'est pas très efficace.

Pour envoyer de gros volumes de mails, reportez-vous aux paquets » PEAR::Mail et » PEAR::Mail_Queue.

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 16:34
par Damien34
Merci pour la réponse efficace, par contre je ne connais pas le framework pear, y aurait-il une doc française ou la possibilité d'avoir plus d'info sur l'envoi de mail en masse?
Je voudrais faire les choses bien si possible :D

Encore merci.

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 19:10
par devlop78
Oui enfin c'est plus complexe que ça. mail() n'est pas approprié si on tient compte d'un nombre important de mails. Mais la problématique va plus loin : il parait qu'il ne faut pas envoyer trop de mails d'un coup. Comme tu l'as suggéré, ce serait mauvais pour son image aux yeux des anti spam ;)

Et effectivement, c'est là que PEAR Queue Mail peut intervenir. Sinon, une table avec des adresses emails, un champ boolean "envoyé" et un script php avec un cron tous les 5 minutes qui en envoie par quinzaine avec PHPMailer par exemple (par SMTP donc 1 connexion pour l'ensemble).

Finalement, la question principale n'est pas combien de secondes tu vas pouvoir gagner à chaque newsletter mais comment éviter d'être vu comme un spammeur ...

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 19:31
par AB
Faut voir aussi ce que tu appelles "emails en masse". Par exemple chez OHV tu peux envoyer jusqu'à 500/1000 mail par jour avec la fonction mail() de php sur un hébergement mutualisé.

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 19:39
par Damien34
C'est exactement ça devlop78, car si une personne à une base de 2000 contacts et souhaite envoyer un mail à ces 2000 contacts ça ne peut pas être étalé sur 11 heures!...
D'où ma question, comment faire pour que les antispams comprennent que ce n'est pas du spam (optin toussa)...
AB je pense que mail() n'est pas approprié... par "emails en masse" j'entends des personnes succeptibles d'envoyer 2000/3000 emails et ça plusieurs fois par jour (plusieurs personnes)...

Merci pour votre aide.

Re: Envoyer des emails en masse avec PHP

Posté : 24 avr. 2011, 23:43
par devlop78
Ouai enfin je disais surtout que la problématique n'était pas de savoir si on allait utiliser des ouvertures multiples de sockets, ou si on allait utiliser SendMail ou Postfix ... Renseigne toi sur google sur le nombre d'emails que tu peux envoyer d'un coup avant d'être mal vu, finalement, le reste c'est du chipotage, faire un script Mail Queue soit même ne prend que 15 minutes

Re: Envoyer des emails en masse avec PHP

Posté : 25 avr. 2011, 07:20
par Damien34
C'est tout à fait la question que je pose dans mon premier message :
Quelles seraient les règles pour éviter que les services de webmail (gmail, hotmail, yahoo etc.) ne blackliste mon service?!
Je me disais que certainement des membres du forum avaient du avoir la même problématique.
Et sur ce coup Google n'est pas mon ami...

Encore merci :)

Re: Envoyer des emails en masse avec PHP

Posté : 26 avr. 2011, 01:15
par devlop78
Oui j'avoue. En attendant, si tu as le choix, tape large : quelques e-mails toutes les 15 minutes, ou quelque chose comme ça ;) Ou alors tu fais la sentinelle, tu tentes et dès que tu te fais bloquer tu nous dis à combien t'étais :P

Re: Envoyer des emails en masse avec PHP

Posté : 26 avr. 2011, 06:46
par Damien34
Il est évident que je vous tiens au courant. D'après ce que j'ai pu lire, faire des pauses ne change rien car les fournisseurs d'accès font des statistiques glissantes...
Donc une campagne d'e-mails même si elle se découpe sur plusieurs heures sera comptabilisé comme une seule et même campagne!

Je vais faire mon petit script tester et tester ;)

Bon si quelqu'un maîtrise bien pear je suis preneur! Je pense que le smtp est le plus approprié.

Encore merci...

Re: Envoyer des emails en masse avec PHP

Posté : 26 avr. 2011, 10:38
par Mazarini
Bonjour,

Le classement en spam dépend de nombreux paramètres. Je ne pense pas que ces paramètres soient public car cela pourrait être utilisé par les spammeurs. Il est probable que les règles évoluent constamment en fonction des méthodes utilisées par les spammeurs.

Il m'est arrivé de retrouver en spam un mail envoyé à 10 personnes seulement. Je suppose que cela était du à un envoi à l'expéditeur avec les destinataires en copie cachée. L'expéditeur était une adresse professionnelle ne pratiquant pas le spam.

Re: Envoyer des emails en masse avec PHP

Posté : 26 avr. 2011, 10:44
par Maskime
Hello,

Moi j'en ai déjà codé des scripts d'envoi en masse.

Le truc pour pas être vu comme spammeur est surtout une question de header/DNS (du moins à l'époque où j'ai fait ce job).
Il faut que Google par exemple soit capable de faire un reverse DNS sur ton domaine et qu'il trouve bien les bonnes infos en face, sans quoi il va te mettre direct dans les spams (Google t'en diras plus que moi à ce sujet, ça fait trop longtemps...).
Pour les SMTP qui vont te relayer et qui seraient susceptibles de te "black lister" c'est pareil. Si tu envois tes mails depuis une adresse IP plutôt qu'un domaine tu risques de subir le même traitement.
Pour ce qui est de PEAR::Mail_Queue, je ne connais pas (mais je prends bonne note de l'existence de cette chose ^^) ce que j'avais fait c'était avec du JS qui rechargeait une page et faisait un envoi de 10/15 mail par affichage avec la fonction mail()

Re: Envoyer des emails en masse avec PHP

Posté : 11 oct. 2011, 11:38
par artheos
Faut voir aussi ce que tu appelles "emails en masse". Par exemple chez OHV tu peux envoyer jusqu'à 500/1000 mail par jour avec la fonction mail() de php sur un hébergement mutualisé.
Salut tout le monde,
je ressuscite ce post car je voudrais confirmation de qu'annonce AB ci-dessus.

Je suis en train de développer un petit module de gestion de newsletter en php tout simple pour un restaurant. A mon avis le nombre d'inscrit sera bien en dessous des 1000 adresses. Novice en php, c'est la 1ere fois pour moi que je fais ce genre de module. Avant de me lancer dans le code, vous me confirmez que si je pars sur une fonction mail() toute simple, je n'aurai pas de souci ?

Par contre j'ai cru comprendre qu'il fallait émettre depuis un nom de domaine et non pas depuis une adresse IP, pour éviter d'etre blacklisté. Dans le php.ini, cela se traduit comment ?

merci pour vos lumières

Re: Envoyer des emails en masse avec PHP

Posté : 16 févr. 2021, 02:39
par two3d
Quelles sont les méthodes en 2021 pour envoyer beaucoup de mails d'un coup (disons 1000), sans être blacklisté SVP ?

Re: Envoyer des emails en masse avec PHP

Posté : 16 févr. 2021, 09:59
par @rthur
En vrac ;
- Respecter SPF+DKIM
- Respecter la volonté des utilisateurs qui se désinscrivent afin de limiter les signalements en tant que spam
- Utiliser une IP "propre", c'est-à-dire dédiée et que tu maitrises parfaitement (y compris son historique) et qui n'est pas blacklistée. Dans l'idéal panacher avec plusieurs IP propres.
- Mettre un petit délai pour envoyer chaque mail (par exemple 1 par seconde)


Si l'envoi de mails est important pour toi, le mieux est de passer par des plateformes spécialisées telles que Mailjet ou Mailchimp... dont c'est le boulot et qui simplifie grandement cela tout en assurant un suivi.