Comment activer les connexions SMTP persistantes dans PHPMailer? P>
Je vais envoyer de nombreux courriels, donc avec des connexions persistantes, je vais probablement obtenir un gain de performance. P>
4 Réponses :
Qu'entendez-vous par connexion SMTP persistante? strong> p>
premier fort> Si vous envoyez un e-mail fort>, vous êtes connecté au serveur jusqu'à ce qu'il termine le travail.
secondaire strong> si vous voulez envoyer de nombreux courriels (votre serveur sera probablement dans la liste noire),
Vous écrivez une boucle
Mais je dois activer cela dans un endroit dans PHPMailer, car il peut se connecter et se déconnecter sur chaque email envoyé.
Mon serveur est reconnu et a (presque) les choses nécessaires pour ne pas être noires. Nous envoyons des courriels régulièrement et avons une grande clientèle, et cette régularité nous permet également d'être bien classée dans les serveurs de réception.
Vous devez probablement configurer une file d'attente et utiliser la boucle pour traiter un lot à la fois afin de pouvoir étrangler la quantité de courriels.
En optimisant l'envoi d'emails, vous pouvez vous ouvrir comme étant identifié comme spamming et provoquer des serveurs Web pour bloquer votre adresse IP. P>
Combien d'emails envoyez-vous? Il est peut-être préférable d'envoyer des courriers électroniques d'étranglement plutôt que d'accélérer. P>
Actuellement, j'envoie 2500 emails.
Oui, je suis d'accord sur l'étranglement. La limitation à 500-1000 par heure devrait éviter toute possibilité d'être perçue comme spamming
Nous ne nous soucions vraiment pas ici si votre serveur devient noué, non? C'est comment réaliser ce que vous voulez. Il suffit de définir true code> la propriété
smtpkeeserval code> et après l'envoi de la masse, appelez implicitement la méthode
smtpclose () code>.
$phpMailer = New PHPMailer();
$phpMailer->isSMTP();
$phpMailer->SMTPKeepAlive = true;
for ( ... ) {
// Send your emails right away
[ ... ]
}
$phpMailer->SmtpClose();
Merci beaucoup, Mauro! C'est la réponse que je cherchais.
Bonjour Mauro j'ai utilisé le même code $ PHPMailer-> Smtpkeekalive = true. Mais n'a pas augmenté la vitesse d'envoi de courrier électronique. Cette ligne de code ne change pas de performance dans mon cas. S'il vous plaît donnez-moi des suggestions si vous en avez d'autres.
@MAHESHKAJAJALE, $ PHPMailer-> SMTPKEKAlive = true code> évitera uniquement la fermeture de la connexion sur le premier courrier électronique afin qu'il ne soit pas à s'ouvrir sur le suivant. Cependant, le serveur peut être de la fermeture de la connexion et vous ne pouvez pas modifier cela. Si vous devez envoyer un courrier électronique plus rapide, je vous recommande d'utiliser une plate-forme de messagerie basée sur l'API comme Mandrill ou Mailgun, où vous pouvez tirer des centaines de courriels sur une seule demande. Cependant, si vous essayez de faire du spam, oubliez-vous que je vous ai aidé, aller dans votre chambre et votre chose à propos de ce que vous avez fait.
Cela peut être utile lorsque vous utilisez des serveurs de relais SMTP de Gmail (pour les comptes d'entreprise / éducatifs) lors de l'envoi de plusieurs courriels via un script. - de Google Docs: "Les serveurs de relais SMTP de Google apps ont des protections en place pour se protéger contre les attaques de déni de service (DOS). Pour éviter les conflits avec ces protections, des agents SMTP qui envoient de grandes quantités de courrier via SMTP-Relay.google.com Réutilisez les connexions, envoyant plusieurs messages par connexion. Ceci est également appelé mise en cache de connexion. "
Assurez-vous d'appeler ClearAddresses () Code> dans la boucle avant d'appeler
AddAddress () Code>. Voir: Stackoverflow.com/a/18285896/482115
Beaucoup d'entre nous utilisent PHPMailer pour envoyer des courriers électroniques via des services transactionnels tels que le cachet de la poste, Mailgun, SendGrid, SES, etc. SO SPAM n'est donc pas un problème du tout. Ces services vous permettent d'envoyer un courrier aussi rapide que vous le souhaitez, de manière à minimiser le temps de connexion SMTP est idéal.
La connexion SMTP persistante convient lorsque vous envoyez de la masse et que vous souhaitez envoyer plus rapidement, en conservant la connexion SMTP en vie pour un nombre spécifique de envois de messagerie est la bonne idée, pour une envoi plus rapide. Une connexion SMTP alternée fréquente dans la boucle peut être la voie à l'envoi plus contrôlé lors de sessions de réchauffement IP. https://www.mumara.com/persistent-smtp- Connexion et-non-persistante-boucle / p>