Fonction mail() de PHP avec plusieurs serveurs SMTP

Fonction mail() de PHP avec plusieurs serveurs SMTP - PHP - Programmation

Marsh Posté le 18-11-2019 à 13:03:08    

Bonjour,Une de mes applis à besoin d'envoyer pas mal de mails (de l'ordre de 5000 à 10000 par mois). On utilise Free actuellement comme serveur SMTP. Quand certains envois sont trop rapprochés et/ou trop nombreux à un instant t, ça coince. Le serveur SMTP refuse l'envoi. Il faut attendre un certain temps avant d'être autorisé à nouveau à envoyer.Dans l'appli, j'ai codé un système pour étaler les envois mais malgré tout, quand trop d'utilisateurs déclenchent des envois, ça engorge le système.
Du coup, j'essaye de faire un système d'envoi avec plusieurs serveurs SMTP (ex : Free, 1&1...). Comme ça, quand je suis bloqué avec l'un, je passe sur un autre. Par contre, avec juste la fonction mail() de base, j'ai pas trouvé comment gérer plusieurs serveurs SMTP (ni même comment passer l'authentification). Apparemment, il faut utiliser la lib PHPMailer.
Vous confirmez ? Avez-vous déjà développé ce genre de système ?
Merci.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-11-2019 à 13:03:08   

Reply

Marsh Posté le 18-11-2019 à 17:15:05    

Je ne randomize pas. Dans un fichier, je stocke le dernier serveur SMTP utilisé. Quand j'envoie un mail, je lis ce fichier et essaye d'envoyer le mail avec lui. Si ça échoue, je passe au serveur suivant. Si ça marche, j'enregistre dans le fichier le serveur qui a fonctionné pour qu'au prochain coup, je ne me retape pas le ou les serveurs qui sont bloqués. Je fais comme ça jusqu'à arriver au dernier serveur puis je reprends à partir du premier qui, normalement, aura eu le temps de se débloquer.
 
Je viens de le mettre en place et ça fonctionne. :)
 
J'ai conscience que c'est du bricolage mais on n'a pas les moyens de prendre un prestataire payant et Amazon qui n'est pas cher ($1/mois pour 10000 mails), ça ne me branche pas. Vu la différence de tarif avec les autres prestataires (le moins cher que j'ai trouvé était à 28€/mois pour 10000 mails), on se doute de comment Amazon rentabilise :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-11-2019 à 10:05:39    

Vu la taille de l'infrastructure d'AWS, je pense qu'ils s'en foutent un peu beaucoup d'envoyer 10k mail par mois et qu'il ne cherche juste pas à rentabiliser. Cela fait produit d'appel et ils préfèrent être potentiellement légèrement déficitaire sur l'envoie de mail. Cela permet de faire venir le client chez eux et un certain pourcentage des clients va regarder un peu plus les autres services qu'ils rendent(/vendent) et payer pour plus de choses.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed