Более гибкий способ отправки писем на PHP - PullRequest
2 голосов
/ 12 сентября 2009

Я стремлюсь интегрировать некоторые функции электронной почты в мою систему, и я не слишком впечатлен использованием mail() для отправки писем, поскольку функция довольно ограничена в том, что она может делать.

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

Несколько других функций, которые были бы действительно хороши:

  • Система очередей, так что письма можно легко и просто регулировать.
  • Легкий вес, с минимальными зависимостями
  • Поддерживает обычную и HTML-электронную почту, а также любое количество вложений.

Ответы [ 2 ]

3 голосов
/ 12 сентября 2009

Большинство фреймворков имеют собственные объекты Mail, которые можно использовать для создания сообщений.

Мне лично нравится Zend_Mail, поскольку он является частью Zend Framework, который слабо связан, поэтому его можно использовать внутри Framework или использовать как отдельный.

Подробнее об этом можно прочитать здесь: http://framework.zend.com/manual/en/zend.mail.html

Это точно соответствует вашим вторым и третьим требованиям. Я не думаю, что что-то будет соответствовать всем трем требованиям, потому что ваше первое требование системы очередей потребует тесной интеграции с сервером.

Если вы ищете что-то, чтобы ставить сообщения в очередь, вы, возможно, захотите найти систему новостной рассылки, но я не нашел хорошего Php с открытым исходным кодом.

3 голосов
/ 12 сентября 2009

Как и большинство дыр в основной функциональности PHP, один из вариантов - заполнить его классом Zend Framework. Zend Framework позволяет вам выбирать, какие части вы используете, поэтому зависимости будут минимальными. Zend_Mail похоже, что он будет обрабатывать ваши требования обычного текста / HTML / вложения.

Что касается системы очередей, это всего лишь мнение, но это не совсем работа PHP. Если вы подошли к тому моменту, когда электронная почта достаточно серьезна, чтобы задуматься о регулировании, вам нужно ознакомиться с sendmail, postfix или любым другим агентом почтовой передачи (MTA), который вы используете. Почти все классы PHP, которые обертывают почтовые функции, на самом деле просто отправляют сообщение из MTA для обработки. Любая система, которая реализует регулирование в PHP, (вероятно) просто собирается регулировать передачу, отправляя ее с MTA, и MTA по-прежнему оказывается точкой отказа.

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