Pull to refresh

Comments 21

Который тянет за собой кучу зависимостей.
UFO just landed and posted this here
Вопрос в том, что является приоритетом для разработчика, а также его уровень знаний и умений.
Данное решение отлично от других, тем что оно минимально по своему размеру, легко расширяется, платформо-независимо и не требует дополнительной настройки. Конечно же у него есть и свои минусы, такие как отсутствие удобного доступа к полученным сообщениям. Но именно это и не является главным требованием к заглушке.
На мой взгляд, такой метод стоит того, что бы о нём знали другие разработчики PHP.
На линуксах использовал ssmtp с привязкой к «Яндекс почте для домена», все устраивало.
Уж простите за глупый вопрос, но: А почему бы просто сразу не использовать swiftmailer? Он, помимо прочего, умеет в dummymailer со всеми вытекающими возможностями для тестирования и отлова сообщений.
Вопрос в потребностях. Это решение идеально подходит там, где важно что бы скрипт продолжил работу, а значение сообщения минимально. Например: сообщения об ошибках дублируемых по почте.
Там где важно само сообщение, и его форматирование, конкретное решение не подходит.
swiftmailer умеет собирать абсолютно все данные о сообщении (в том числе содержание, тему, всех получателей, заголовки, форматирование), а вы можете их сохранить в любом удобном для вас формате.
На мой взгляд, главный недостаток, что там где используется PHP mail функция, это работать не будет. А заменить на Swift Mailer возможно не во всех ситуациях, например чужой проект в котором требуется добавить модуль. В любом случае, спасибо за комментарий, думаю что сама тема отправки писем из PHP и сравнение всех решений и библиотек, должна быть интересна для PHP разработчиков.
И кстати, чем вас не устроила константа PHP_OS? (Не успел отредактировать)
Поправил, спасибо.
UFO just landed and posted this here
Мне кажется, что fake sendmail заглушки имеют несколько достоинств в отличие от внешнего SMTP сервера:
1. Независимо от интернет подключения.
2. Все отправленные сообщения будут задержаны, вне зависимости от адреса получателя.
Думаю что есть и другие достоинства, которые я не учёл.
Еще решение
python -m smtpd -n -c DebuggingServer localhost:25
Поправил, спасибо.
Вначале не заметил, но:

лучше использовать константу STDIN;
обязательно заменить "#!/usr/local/bin/php" на "#!/usr/bin/env php" (у большинства, ИМХО, php лежит в "/usr/bin", а у некоторых даже в "/opt".
Поправил, спасибо за Ваши комментарии.
Пользуюсь похожим решением. Хочу добавить, что если сохранять письмо с расширением .eml, то его можно открывать почтовыми клиентами, например Mozilla Thunderbird. В таком случае вполне адекватно видно форматирование письма, в том числе можно отлаживать HTML верстку и видеть аттачи.
Чтобы метод работал, каждое письмо должно сохраняться в отдельном файле.
Sign up to leave a comment.

Articles