Подтвердить что ты не робот

Метод проверки электронной почты

Я пишу программу, которая будет отправлять сообщения по электронной почте многим (~ 100) клиентам, которые я хочу протестировать, прежде чем я спам всех.

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

Существует ли SMTP-сервер, специально предназначенный для тестирования?

Кто-нибудь знает, как настроить exim или postfix, чтобы вести себя так, как я описал выше.

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

4b9b3361

Ответ 1

В java вы можете использовать dumbster

Прост в использовании, и вы можете проверить каждый аспект электронной почты, который вы перехватываете.

Это реализация сервера Java SMTP, предназначенная для модульного тестирования. (Просто убедитесь, что вы перенаправляете свою электронную почту на машину, на которой работает dumbster...)


Я просто нашел другую альтернативу, которая делает почти то же самое: Greenmail

Greenmail также поддерживает POP3, IMAP с SSL, чтобы вы могли протестировать своего клиента против него.

Ответ 2

Для .NET я устанавливаю файл конфигурации для доставки почты в папку, затем вы можете автоматизировать проверку каталога и файлов.

<system.net>
 <mailSettings>
  <smtp deliveryMethod="SpecifiedPickupDirectory">
   <specifiedPickupDirectory pickupDirectoryLocation="c:\pickupDirectory"/>
  </smtp>
 </mailSettings>
</system.net>

Ответ 4

"Рамка Wiser для модульной проверки почты"

Я слышал о том, что некоторые другие разработчики перешли от Dumbster к Wiser и также перенесли мой тестовый код. Один из компонентов Java, над которым я работал, отправляет тысячи писем в день, и я написал модульные тесты для разных шаблонов и сценариев электронной почты с использованием Dumbster и Wiser. Я предпочитаю Wiser.

Снимки с веб-сайта Wiser (http://code.google.com/p/subethasmtp/wiki/Wiser):

Wiser - умная замена для Dumbster и построена поверх библиотеки Java SubEtha SMTP, которая позволяет вашему Java-приложению получать почту SMTP с помощью простого и понятного API.

Ответ 5

Хорошей программой для тестирования электронной почты является smtp4dev (только для Windows).

Это фиктивный SMTP-сервер. Сидит в системном трее и не доставляет полученные сообщения. Полученные сообщения можно быстро просмотреть, сохранить и проверить источник/структуру.

http://smtp4dev.codeplex.com/

Ответ 7

Учитывая, что вы упоминаете exim и postfix (которые я воспринимаю как нечто вроде unix-материала), этот ответ может быть не так полезен, как может быть, но проверьте Neptune. Это поддельный SMTP-сервер, предназначенный для автоматического тестирования. Если у вас есть запасное окно, плавающее вокруг, вы можете поставить Neptune на него, а затем настроить приложение для отправки "через" сервер Neptune.

Ответ 8

Exim можно настроить для приема входящих сообщений, но не доставить их. Найдите в документации ключевые слова queue_only и queue_only_file.

Ответ 9

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

Ответ 10

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

Ответ 11

Sendmail имеет тестовый режим.

Вы просто вызываете sendmail с параметром -bt. В качестве примера:

/usr/lib/sendmail -bt -Ciu-testconfiguration.cf

Обратите внимание, что в этом методе Sendmail требует специальной конфигурации для правил перезаписи. Вам нужно понять, как Sendmail перезаписывает адреса, чтобы правильно создать файл .cf для тестового режима.


Изменить: См. статью: http://ussg.iu.edu/usail/mail/debugging/

Ответ 12

После того, как я не был доволен решениями, которые я нашел, я закончил писать developmentSMTP, прост в использовании, 100% Java → перекрестная платформа.

Поддерживает отправку писем в файлы, пересылку электронных писем или просто их печать на стандартном диске.

Ответ 13

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

Свободно доступно по адресу: Post Hoc GitHub Site

Для получения дополнительной информации: PostHoc: Тестирование приложений, отправляющих электронную почту

Ответ 14

Если вы пытаетесь вручную проверить, что письмо отправлено, и что шаблон электронной почты имеет подходящий вид html и css, который вы ожидаете, я бы рекомендовал maildev https://www.npmjs.com/package/maildev. Вы можете установить и запустить его как модуль node, а также в качестве контейнера докеров! Я нашел, что это очень удобно для базового тестирования чувствительности электронных писем.