Есть ли в PHP библиотека передачи почты SMTP - PullRequest
0 голосов
/ 20 августа 2009

Я хочу написать сервис пересылки электронной почты и мне нужна замена MTU sendmail / postfix.

Я не смотрю, как доставить на передающий SMTP-сервер (например, список постфиксов на SMTP-порту). Мне также не нужна принимающая часть сервера, отскоки и т. Д. Перешли бы на другой существующий постфикс.

Все это на чистом PHP. SMTP - довольно простой протокол, но для этого потребуется доступ к DNS-записи MX и другим подробностям, о которых необходимо позаботиться.

Зачем мне это нужно? Потому что большинство интернет-провайдеров имеют безумно низкие лимиты для отправки писем, например, 500 в день. Это почти ничего, если вы хотите настроить даже самый низкий список адресов электронной почты трафика.

РЕДАКТИРОВАТЬ: Обратите внимание: Код должен подключиться к SMTP-серверу получателей и доставить сообщение с адаптированным набором заголовков (удаленный список BCC, добавленный маршрутный маршрут). Если вы видите класс SMTP меньше затем 5000 строк или требуется настроить SMTP-хост и порт, тогда это не то, что я ищу.

Он должен делать все, что делает sendmail, как библиотека PHP.

Ответы [ 6 ]

1 голос
/ 20 августа 2009

SwiftMailer - единственная библиотека, которая вам понадобится.

1 голос
/ 20 августа 2009

Я использую Почта груши класс.

EDIT

Перечитав это, я вижу, что это нечто большее, чем просто библиотека. Вы просите отправить напрямую на пульт MX.

Зачем изобретать велосипед? Настройте экземпляр postfix на сервере, который прослушивает соединения только с веб-сервера ... и разрешите MTA делать то, что у него получается лучше всего. Передайте сообщения с php на реальный почтовый сервер и двигайтесь дальше.

В случае интернет-провайдеров, которые блокируют исходящий порт 25 и принудительно используют смарт-хост, это также позволяет вам ограничивать скорость отправки сообщений на смарт-хост.

Наконец, отправка в конец MX прямо из вашего php-скрипта - плохая идея, потому что, если вы отправите мне, я никогда не получу его. Я и многие другие сайты используют «серый список» для уменьшения спама, который отклоняет все первоначальные запросы с временной ошибкой 450. Реальные MTA попытаются снова, но если вы не внедрили очередь задержки и повторите попытку, ваше сообщение никогда не пройдет.

1 голос
/ 20 августа 2009

Мы используем http://sourceforge.net/projects/phpmailer/ для отправки электронной почты SMTP из PHP

0 голосов
/ 09 июня 2014

Я использовал http://www.mailerq.com/, который работает круто. Это агент передачи почты на основе очереди. Это требует rabbitmq. Это обеспечивает несколько рабочих, а также легко хранить в базе данных. Он также предоставил консоль управления. стоит это проверить

0 голосов
/ 21 марта 2013

Вот что я написал. Он довольно минимален, и я не знаю, насколько хорошо он работает, но я написал его с намерением заменить sendmail, то есть он будет принимать сообщение, искать все записи MX для доменов получателей, связываться с этими почтовыми серверами и доставлять сообщение для соответствующих получателей. В то время это работало достаточно хорошо для меня.

https://github.com/denvertimothy/ThriveSMTP

Прошло много времени с тех пор, как я им пользовался, но я бросил его на Github только сейчас.

0 голосов
/ 20 августа 2009

Попробуйте компонент Zend Framework Zend_Mail (вы можете использовать компонент независимо от всей платформы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...