PHP: mail () vs SendMail

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

mail () или sendmail

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

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

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

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

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

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

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