Играйте в 2.5 с почтовым плагином

Я использую приведенную ниже конфигурацию для отправки электронной почты через игровое приложение:

smtp.mock=false
smtp {
        host="smtp.mail.yahoo.com"
        port="465"
        ssl=true
        user="[email protected]"
        password="XXXXXXXXXXX"
        from="[email protected]"
}

Код работает все хорошо. Однако я получаю предупреждение:

smtp is deprecated, use play.mailer instead.

Когда я использую код конфигурации play.mailer, происходит сбой. конфигурация

play.mailer {
    host="smtp.mail.yahoo.com"
    port=465
    ssl=yes
    tls=no
    user="[email protected]"
    password="XXXXXX"
    debug=no
    timeout=60
    connectiontimeout=60
    mock=false
}

Ошибка:

     [error] application - error sending email
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.mail.yahoo.com:465
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421)
    at org.apache.commons.mail.Email.send(Email.java:1448)
    at play.api.libs.mailer.SMTPMailer$$anon$2.send(MailerPlugin.scala:100)
    at play.api.libs.mailer.CommonsMailer.send(MailerPlugin.scala:130)
    at play.api.libs.mailer.SMTPMailer.send(MailerPlugin.scala:110)
    at play.api.libs.mailer.SMTPDynamicMailer.send(MailerPlugin.scala:117)
    at utils.Mailer.sendEmail(Mailer.scala:30)
    at utils.Mailer$$anonfun$sendEmailAsync$1.apply$mcV$sp(Mailer.scala:22)
    at utils.Mailer$$anonfun$sendEmailAsync$1.apply(Mailer.scala:22)
    at utils.Mailer$$anonfun$sendEmailAsync$1.apply(Mailer.scala:22)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.yahoo.com, port: 465
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
    at javax.mail.Service.connect(Service.java:317)
    at javax.mail.Service.connect(Service.java:176)
    at javax.mail.Service.connect(Service.java:125)
    at javax.mail.Transport.send0(Transport.java:194)
    at javax.mail.Transport.send(Transport.java:124)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1411)
    at org.apache.commons.mail.Email.send(Email.java:1448)
    at play.api.libs.mailer.SMTPMailer$$anon$2.send(MailerPlugin.scala:100)
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:211)
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927

Исходный код доступен по адресу https://github.com/pariksheet/dribble.

Спасибо, Пари.


person Pari    schedule 29.08.2016    source источник
comment
Возможно, вы захотите проверить, есть ли другой источник конфигурации, ваш адрес электронной почты. являются Yahoo, но в исключении говорится, что он не может подключиться к GOOGLE, это будет означать, что ваши настройки отключены, но другие настройки включены.   -  person AME    schedule 29.08.2016
comment
Виноват. Я вставил неправильное сообщение об ошибке. Я обновил пост.   -  person Pari    schedule 29.08.2016


Ответы (1)


Все, что вам нужно: modify 60 (s) -> 60000 (ms)

play.mailer {
  host (mandatory)
  port (defaults to 25)
  ssl (defaults to no)
  tls (defaults to no)
  user (optional)
  password (optional)
  debug (defaults to no, to take effect you also need to set the log level to "DEBUG" for the application logger)
  timeout (defaults to 60s in milliseconds)
  connectiontimeout (defaults to 60s in milliseconds)
  mock (defaults to no, will only log all the email properties instead of sending an email)
}
person user3364170    schedule 23.11.2016