Загрузка действительно не должна быть проблемой.Вы можете отправлять сотни сообщений в секунду даже на маломощном сервере.Тем не менее, ваши другие предположения верны;Вы можете уменьшить нагрузку, переместив службы в другое место, в том числе в другие почтовые службы.
Что касается PHPMailer, код, который он запускает, будет одинаковым как локальным, так и удаленным.Использование SMTP, вероятно, потребляет меньше ресурсов, чем mail()
, потому что все, что делает функция mail()
, это все равно открыть синхронное SMTP-соединение с localhost.Как правило, вам следует избегать использования mail()
;он медленнее и менее безопасен, чем SMTP для localhost.
Если вы получаете прерывистые тайм-ауты SMTP, я подозреваю, что ваш хостинг-провайдер или хост электронной почты, возможно, ограничивают отправку электронной почты.Правильный способ справиться с этим - запустить локальный почтовый сервер (который будет работать с очередями и повторять попытки асинхронно, и гораздо более эффективно, чем PHP), и отправлять ему сообщения через SMTP на localhost из PHPMailer - PHPMailer не является почтовым сервером,Общие рекомендации по производительности можно найти в PHPMailer wiki об отправке почты в списки .