Jak włączyć trwałe połączenia SMTP w PHPMailer?Trwałe połączenie SMTP w PHPMailer
Będę wysyłać wiele e-maili, więc przy trwałych połączeniach prawdopodobnie dostanę przyrost wydajności.
Jak włączyć trwałe połączenia SMTP w PHPMailer?Trwałe połączenie SMTP w PHPMailer
Będę wysyłać wiele e-maili, więc przy trwałych połączeniach prawdopodobnie dostanę przyrost wydajności.
Naprawdę nie dbamy o to, jeśli serwer zostanie umieszczony na czarnej liście, prawda? W ten sposób osiągniesz to, czego chcesz. Wystarczy ustawić wartość na true
dla właściwości SMTPKeepAlive
, a po wysłaniu zbiorczym wywołać domyślnie metodę SmtpClose()
.
$phpMailer = New PHPMailer();
$phpMailer->isSMTP();
$phpMailer->SMTPKeepAlive = true;
for (...) {
// Send your emails right away
[ ... ]
}
$phpMailer->SmtpClose();
Co masz na myśli przez trwałe połączenie SMTP?
Pierwszy jeśli wyślesz Email jesteś podłączony do serwera, aż zakończy pracę. drugie jeśli chcesz wysłać wiele wiadomości e-mail (Prawdopodobnie serwer będzie w czarnej listy), piszesz pętlę w kodzie PHP, whitch pobiera wszystkie adresy e-mail i przekazuje je do PHPMailer i finaly sendts je . To, w jaki sposób wysyłałbym masowe maile.
Ale muszę włączyć to w pewnym miejscu w PHPMailer, ponieważ może on łączyć się i rozłączać przy każdym wysłanym e-mailu –
Ok, ok. Rozumiem. –
Mój serwer jest rozpoznawany i ma (prawie) niezbędne rzeczy, które nie zostaną umieszczone na czarnej liście. Regularnie wysyłamy e-maile i mamy dużą bazę klientów, a ta regularność pozwala nam również uzyskać dobrą pozycję na serwerach odbierających. –
Optymalizując wysyłanie wiadomości e-mail, możesz otworzyć się jako zidentyfikowany jako spam i spowodować zablokowanie twojego adresu IP przez serwery internetowe.
Ile e-maili wysyłasz? Lepiej może raczej ograniczyć emisje, niż je przyspieszyć.
Aktualnie wysyłam 2500 e-maili. –
Tak, zgadzam się na dławienie. Ograniczając do 500-1000 na godzinę, należy unikać wszelkich możliwości bycia postrzeganym jako spamowanie. – Cez
Trwałe połączenie SMTP jest odpowiednia, gdy wysyłasz luzem i chcesz wysyłać szybciej, utrzymując połączenia SMTP żyje dla określonej liczby email wysyła to dobry pomysł na szybsze wysyłanie. Często zmieniające się na przemian połączenie SMTP w pętli może być sposobem na bardziej kontrolowane wysyłanie podczas sesji rozgrzewania IP. https://www.mumara.com/persistent-smtp-connection-and-non-persistent-loop/
Dziękuję bardzo, Mauro! Oto odpowiedź, której szukałem. –
Witam Mauro Użyłem tego samego kodu $ phpMailer-> SMTPKeepAlive = true. Ale nie zwiększyło prędkości wysyłania wiadomości e-mail. Ten wiersz kodu nie zmienia wydajności w moim przypadku. Proszę dać mi sugestie, jeśli masz jakieś inne. –
@maheshkajale, '$ phpMailer-> SMTPKeepAlive = true' uniknie tylko zamknięcia połączenia w pierwszym e-mailu, więc nie trzeba go otwierać w następnym. Jednak i tak serwer może zamknąć połączenie i nie można tego zmienić. Jeśli chcesz szybciej wysyłać wiadomości e-mail, polecam korzystanie z platformy e-mail opartej na interfejsie API, takiej jak Mandrill lub Mailgun, w której możesz wysłać setki wiadomości e-mail na jedno żądanie. Jednak jeśli próbujesz zrobić SPAM, zapomnij, że ci pomogłem, idę do twojego pokoju i rzeczy o tym, co zrobiłeś. – Mauro