2016-08-29 4 views
0

я использую ниже конфигурацию для отправки электронной почты через приложение игры:Play 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.

Благодаря Pari

+0

Вы можете проверить, если есть другой источник конфигурации, ваш адрес электронной почты адр. yahoo, но исключение говорит, что он не может подключиться к GOOGLE, это означает, что ваши настройки отключены, но другие настройки включены. –

+0

Мой плохой. Я вставил неверное сообщение об ошибке. Я обновил сообщение. –

ответ

0

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

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) }

Смежные вопросы