Отправка писем с локального хоста - Play Framework - PullRequest
4 голосов
/ 22 августа 2011

Кто-нибудь знает настройки smtp, которые необходимо применить в файле application.conf проекта Play Framework для отправки электронных писем на localhost?

Во время моего модульного тестирования я получаю сообщение об ошибке:

Обнаружено play.exceptions.MailException, невозможно отправить электронное письмо

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

Я попытался просто использовать:

mail.smtp=mock

И я попытался закомментировать строку выше и использовать:

mail.smtp.host=127.0.0.1

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

Если это так, я не могуотправка электронной почты, так как Play не будет работать как SMTP-сервер, есть ли способ использовать mail.smtp=mock для «имитации отправки» электронной почты и пропуска моих тестов?

Полезная ссылка

Это ссылка на документацию Play для отправки писем

Ответы [ 3 ]

9 голосов
/ 22 августа 2011

Чтобы лучше диагностировать проблему, вы можете использовать следующую настройку (в application.conf), чтобы предоставить более подробную информацию о процессе отправки электронной почты.

mail.debug=true

Однако для целей тестирования я нашел использование GMail самым простым способом отправки электронной почты. Конфигурация (снова в application.conf): ...

mail.smtp.host=smtp.gmail.com
mail.smtp.user=yourGmailLogin
mail.smtp.pass=yourGmailPassword
mail.smtp.channel=ssl

Для получения полной информации обо всех конфигурациях на странице Play Framework есть много информации о том, как это сделать.

http://www.playframework.org/documentation/1.2.2/emails

1 голос
/ 31 июля 2013

Для будущих разработчиков я использую Play2.1 на Mac OSX, это моя конфигурация почты для отправки на localhost ...

 host=localhost
 port=1025
 user="root@localhost" 
 from="root@localhost"

с использованием приложения MockSMTP, доступного в магазине Mac http://mocksmtpapp.com/

Также используется плагин typesafe

https://github.com/typesafehub/play-plugins/tree/master/mailer

Я надеюсь, что это может помочь кому-то в будущем.

1 голос
/ 11 июля 2012

пользуюсь 1.2.4. (еще не портировал ...)

Существуют различные причины, по которым play.mvc.Mailer.send () может потерпеть неудачу, однако истинная причина подавляется, если вы посмотрите на первый уровень сгенерированного исключения, поскольку генерируется то, что выдается (play.mvc.Mailer.java : 349):

throw new MailException("Cannot send email", ex);

play.exceptions.MailException наследуется от java.lang.RuntimeException. Истинное исключение ex установлено в качестве причины.

Я бы рекомендовал взглянуть на поле причины. Пример:

try {
    Future<Boolean> future = play.mvc.Mailer.send(...);
} catch(MailException me) {
    System.out.println(me.getCause().getMessage());
}

Это может распечатать что-то более полезное.

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