Mainkan 2.5 dengan plugin mailer

Saya menggunakan konfigurasi di bawah ini untuk mengirim email melalui aplikasi play:

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

Kode berfungsi dengan baik. Namun, saya mendapat peringatan:

smtp is deprecated, use play.mailer instead.

Ketika saya menggunakan kode konfigurasi play.mailer gagal. konfigurasi

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
}

Kesalahan :

     [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

Kode sumber tersedia di https://github.com/pariksheet/dribble.

Terima kasih Pari


person Pari    schedule 29.08.2016    source sumber
comment
Anda mungkin ingin memeriksa apakah ada sumber konfigurasi lain, alamat email Anda. adalah Google tetapi pengecualian mengatakan bahwa ia tidak dapat terhubung ke GOOGLE, ini menunjukkan bahwa pengaturan Anda dinonaktifkan tetapi pengaturan lainnya diaktifkan.   -  person AME    schedule 29.08.2016
comment
Salahku. Saya telah menempelkan pesan kesalahan yang salah. Saya telah memperbarui postingan.   -  person Pari    schedule 29.08.2016


Jawaban (1)


Yang Anda butuhkan: 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