我正在使用imap 连接电子邮件
Store store = session.getStore("imaps");
store.connect(server, username, password);
代码运行良好,在本地中运行项目时连接了电子邮件
但如果我们在docker容器中运行该项目。引发以下错误。
javax.mail.MessagingException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate);
nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:665)
Docker文件
FROM markhobson/maven-chrome:latest
WORKDIR /app
ARG ENVUrl=''
ENV ENVUrl $ENVUrl
ENV JAVA_OPTS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true -Dmail.smtp.ssl.protocols=TLSv1.2"
COPY ./Framework .
检查IMAP服务器支持的TLS协议和密码
面临类似的问题。这是由于您在docker中使用的java版本。如果您使用的是java版本8u291或更高版本,TLS V1.0,1.1可能会被禁用。请在此处查看解决方案