Я хочу проверить код Java для отправки электронной почты. Я не хочу использовать какой-либо коммерческий почтовый клиент или подключаться к любым внешним почтовым провайдерам (например, Gmail или Yahoo). Я хотел бы знать, есть ли какое-либо программное обеспечение, которое позволяет пользователю настраивать фиктивные адреса электронной почты и сервер (локально), которые могут использоваться в моем программном обеспечении для отправки и получения писем. Я просто хочу проверить функциональность кода Java.
Простой локальный SMTP-сервер
Ответ 1
Для тестирования электронной почты попробуйте Dumbster. Со своей страницы:
Dumbster - это очень простой фальшивый SMTP-сервер, предназначенный для тестирования модулей и приложений, которые отправляют сообщения электронной почты. Он отвечает на все стандартные команды SMTP, но не доставляет сообщения пользователю. Сообщения хранятся в Dumbster для последующего извлечения и проверки.
Dumbster легко внедряется в вашу стратегию тестирования. Пока ваше приложение общается с сервером электронной почты с использованием SMTP, Dumbster может использоваться для тестирования приложения без изменений кода.
Существуют различные вилки, так как исходная страница больше не доступна:
Больше можно найти с помощью Github Search
Ответ 2
Я предпочитаю Fake SMTP для этого. Это настольное приложение (упакованное в файл jar). Поскольку он написан на Java, вы можете запускать его как из Linux/Mac/Windows
Ответ 3
Попробуйте GreenMail. Он ориентирован на использование JUnit, но он должен делать то, что вам нужно. Вы можете запустить его в экземпляре JBoss или попросить JUnit-тесты отправлять почту себе, в зависимости от ваших конкретных потребностей.
Есть несколько других похожих компонентов программного обеспечения, но тот, который я использовал, и был достаточно доволен этим.
Ответ 4
Вы можете использовать Wiser в библиотеке SubEthaSMTP, более разумная цель - именно то, что вы хотите, модульное тестирование.
Ответ 5
на Leopard вы можете запустить локальный SMTP-сервер (Postfix) на OS-X Leopard
sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist
перед закрывающим тегом в конце:
<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>
тогда начните с
sudo postfix start
теперь вы проверяете, работает ли служба:
telnet localhost 25
Ответ 6
javamail-file-transport сохраняет сообщения электронной почты в файлы вместо отправки через SMTP-сервер.
Смотрите проект javaMail extensions на GitHub.
Он добавляет перенос файла, который позволяет:
- сохранить письма в файлы в формате
text
вместо отправки - сохранить письма в файлы в формате
mbox
вместо отправки - добавить информацию о журнале вместо отправки электронной почты.
Ответ 7
Я использовал Mailtrap несколько раз, и я могу порекомендовать его.
Ответ 8
использовать аспирин Из документов: Аспирин является встраиваемым SMTP-сервером только для отправки для разработчиков Java.
Ответ 9
удивительный докер
https://hub.docker.com/r/mailhog/mailhog/
(gitHub - https://github.com/mailhog/MailHog)
Этот докер имеет два порта:
Один порт для отправки SMTP-сообщений (smtp://0.0.0.0: 1025/)
Второй порт для отображения электронной почты в Интернете (http://0.0.0.0:8025/)
запустить докер: docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog