Хороший способ проверить работоспособность электронной почты

Работа над приложением с уведомлением по электронной почте. Я хотел бы запустить тестирование без отправки электронных писем на производственные серверы и клиенты. Пару лет назад я помню, как кто-то сбивал наш сервер обмена с плохой петлей электронной почты и предпочел бы не повторяться ...

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

Спасибо.

10.12.2008 20:42:55
6 ОТВЕТОВ
РЕШЕНИЕ

Papercut идеально подходит для того, что вы ищете. Это было общедоступно в течение последних нескольких месяцев. Я пользуюсь им уже месяц. Проверить работоспособность электронной почты проще простого.

  1. Скачать Papercut.
  2. Запустите Papercut, пока он находится в вашем лотке.
  3. Сконфигурируйте хост smtp вашего приложения на машине с Papercut.
  4. Часы Papercut получают письма и просматривают содержимое.
  5. Когда вы сделали. Закройте Papercut.
18
12.07.2017 11:59:50
Также для промежуточных сред Papercut имеет веб-версию на dummysmtp.com. Он дает вам SMTP URL и сохраняет сообщения в течение двух часов.
bdukes 10.12.2010 16:13:25
Да, вот и все. Спасибо за исправление ссылки, не уверен, когда она сломалась.
Dale Ragan 5.04.2011 12:29:20
Вы случайно не знаете какие-либо альтернативы для Linux? Я использую Ubuntu (Debian).
timetofly 2.07.2013 19:15:08
@ user371699 Нет, но Papercut с открытым исходным кодом. Вы можете изменить его, добавив консольное приложение и запустив его в режиме моно. Это стоит посмотреть.
Dale Ragan 3.07.2013 05:50:20
здесь, в 2017 году, и бумажная по-прежнему качается
The4thIceman 13.06.2017 15:29:58

Почему бы просто не выплеснуть список адресов электронной почты в текстовый файл и отключить любые звонки на почтовый сервер?

0
10.12.2008 20:46:18

В зависимости от механизма электронной почты, другой альтернативой может быть создание сценария testmail. (Py, php, sh), который записывает все предоставленные аргументы и выгружает их в таблицу тегов с отметками времени события. Это не элегантно, но подойдет для отладки. Все зависит от того, как вы отправляете почту.

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

1
10.12.2008 20:52:48

Довольно просто настроить псевдоним, который доставляется в файл, а не через какой-либо механизм доставки на любом из основных почтовых серверов Unix / Linux, таких как Postfix или Sendmail. Во время тестирования вы можете подключить этот файл, чтобы увидеть, что почта отправляется, когда вы ожидаете. После того, как ваше тестирование закончено, вы можете перенаправить его туда, куда он действительно должен идти.

5
10.12.2008 20:53:02
Я собираюсь рассмотреть это как часть более широкой среды test / dev. Спасибо!
jason saldo 11.12.2008 02:32:49

Ваш вопрос не описывает среду, но если вы используете язык ОО (например, Java), вы можете использовать внедрение зависимостей. Написать MessageSenderинтерфейс с двумя реализациями; one ( EmailMessageSender) на самом деле отправляет электронные письма, в то время как другой ( FileMessageSender) записывает сообщение в строку.

Пишите и тестируйте EmailMessageSenderизолированно; как только это проверено, положите это на полку.

Напишите другие части системы MessageSenderи протестируйте их, используя (внедренный) экземпляр FileMessageSender. (Если FileMessageSenderтакже разрешен поиск содержимого «отправленного сообщения», то вы можете использовать его в модульном тестировании.)

Как только вы проверили остальную часть системы, разверните ее, используя (снова через инъекцию) правильно настроенный экземпляр EmailMessageSender.

1
11.12.2008 00:43:56

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

2
27.04.2017 08:53:28