Подтвердить что ты не робот

PHP: mail() vs SendMail

простой вопрос: какой из них имеет хорошую производительность при отправке писем навалом?

функция mail() или sendmail

который используется популярными пакетами диспетчера списков PHP?

4b9b3361

Ответ 1

Ну, функция mail() не подходит для электронных писем, отправленных массово, потому что она открывает и закрывает SMTP-сокет для каждого отправляемого вами письма, что далеко не эффективно. Если вы посмотрите PEAR:: Mail, вы можете использовать 3 бэкэнда: mail, sendmail и plain SMTP. Для чего это стоит, я лично предпочитаю SMTP, потому что он легко поддерживается как в Linux, так и в Windows.

Если вы хотите отправить почту в фоновом режиме с помощью очереди, PEAR:: Mail_Queue может быть решением.

Ответ 2

sendmail - это агент передачи почты (MTA). В системах на базе UNIX и Linux функция PHP mail() просто передает электронную почту, хотя sendmail (или совместимый MTA). Для отправки массовой почты вам может потребоваться прямое подключение к SMTP-серверу. Zend Framework обеспечивает SMTP-транспорт.

Ответ 3

Если вы используете SMTP-почтовый сервер самостоятельно, убедитесь, что у вас SPF и доменные ключи настроены правильно, или ваша почта окажется в блоке нежелательной почты для большинства крупных доменов (yahoo, gmail и т.д.).

Кроме того, не забывайте о обработке отказов и надежных функциях отмены подписки. Без этих почтовых сообщений будет намного меньше, и ваш IP-адрес получит черный список.

И, конечно, не разрешайте открывать реле. Выполняйте домашнее задание и делайте осторожность, спамеры затруднили нам.