ConservationColorado / asana-hire

A lightweight recruitment management web application!
GNU General Public License v3.0
3 stars 0 forks source link

Time out on SimpleJavaMail mailer #12

Closed OliverAbdulrahim closed 1 year ago

OliverAbdulrahim commented 1 year ago

Observed issue

Around 1 minute after mail is delivered, the mailer socket times out.

Scope

All messages appear sent.

Possible solution

Maybe we aren't closing an open resource? Try running mailer.close in a finally block or similar.

Logs

2023-02-16T11:13:18.322-07:00 ERROR 647 --- [or 1 / thread 1] .s.m.i.AbstractProxyServerSyncingClosure : Failed to send email:
<redacted sender address>
2023-02-16T11:13:18.322-07:00 ERROR 647 --- [or 1 / thread 1] o.s.i.util.concurrent.NamedRunnable      : Failed to run sendMail process

Stack trace

org.simplejavamail.mailer.internal.MailerException: Third party error
    at org.simplejavamail.mailer.internal.SendMailClosure.executeClosure(SendMailClosure.java:91) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.mailer.internal.AbstractProxyServerSyncingClosure.run(AbstractProxyServerSyncingClosure.java:56) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.internal.util.concurrent.NamedRunnable.run(NamedRunnable.java:41) ~[core-module-7.0.0.jar:na]
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:1589) ~[na:na]
Caused by: jakarta.mail.MessagingException: Exception reading response
    at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2476) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2353) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at com.sun.mail.smtp.SMTPTransport.data(SMTPTransport.java:2080) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1300) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at org.simplejavamail.mailer.internal.util.TransportRunner.lambda$sendMessage$0(TransportRunner.java:48) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.mailer.internal.util.TransportRunner.sendUsingConnectionPool(TransportRunner.java:78) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.mailer.internal.util.TransportRunner.runOnSessionTransport(TransportRunner.java:64) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.mailer.internal.util.TransportRunner.sendMessage(TransportRunner.java:47) ~[simple-java-mail-7.0.0.jar:na]
    at org.simplejavamail.mailer.internal.SendMailClosure.executeClosure(SendMailClosure.java:82) ~[simple-java-mail-7.0.0.jar:na]
    ... 6 common frames omitted
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:273) ~[na:na]
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:299) ~[na:na]
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:340) ~[na:na]
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:789) ~[na:na]
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1025) ~[na:na]
    at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:477) ~[na:na]
    at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:471) ~[na:na]
    at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70) ~[na:na]
    at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1465) ~[na:na]
    at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1069) ~[na:na]
    at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:102) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:255) ~[na:na]
    at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:289) ~[na:na]
    at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:276) ~[na:na]
    at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:100) ~[jakarta.mail-2.0.1.jar:2.0.1]
    at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2456) ~[jakarta.mail-2.0.1.jar:2.0.1]
    ... 14 common frames omitted
OliverAbdulrahim commented 1 year ago

Closed, as of #23 no longer using SimpleJavaMail