問題
- コントロール パネル > サーバー管理で安全なメール サーバーを設定した後、作成された新しいアカウントの電子メール通知 (または Liferay DXP からのその他のメール) は送信されません。 代わりに、以下のスタック トレースがログに表示されます。
2020-06-01 15:30:21.926 ERROR [liferay/mail-1][MailEngine:128] Unable to send message: Can't send command to SMTP host
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:757)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1418)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)
at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)
at javax.mail.Service.connect(Service.java:275)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at com.liferay.petra.mail.MailEngine._send(MailEngine.java:627)
Environment
- Liferay DXP 7.0
- Liferay DXP 7.1
- Liferay DXP 7.2
- セキュア (TLS) メールサーバー
解決策
- この問題は、現在のポータル バージョンの古い javax.mail ライブラリに起因します。 Liferay が使用する javax.mail ライブラリは TLS v1.2 をサポートしておらず、TLS v1.x のみをサポートしています。
- そのため、TLS v1.1 および 1.0 を提供しないメール サーバーを使用して、Liferay DXP からメールを送信することはできません。
- 解決策は LPS-114513 に記載されており、現在レビュー中です。 公式の修正パックが待ちきれない場合は、 サポート チケットを開いて LPS-114513 の修正が必要であることを伝え、 現在のパッチ情報を提供してください。
追加情報
-
LPS-114513: javax.mail を 1.6.2 にアップグレードして、メールを使用できるようにします。<prot>.ssl.プロトコル