java - Apache 常见邮件 : Exception: Sending the email to the following server failed : smtp. gmail.com:587

标签 java jakarta-mail

我在执行selenium后实现了自动电子邮件发送器,它适用于非代理环境,但不适用于企业代理环境。有人知道有什么问题吗?需要改变什么?

代码:

// Create the email message
            MultiPartEmail email = new MultiPartEmail();
            email.setHostName("smtp.gmail.com");
            email.setSmtpPort(587);
            email.setAuthenticator(new DefaultAuthenticator("peterapiit@gmail.com", "giqqpudmcjjmpbcc"));
            email.setFrom("peterapiit@gmail.com", "Nicholas Wong");
            email.addTo("kwong@who.int", "Nicholas Wong");
            email.addTo("gann@who.int", "Nicholas Gann");
            email.setBounceAddress("peterwkc30@gmail.com");
            email.setSubject("ePQS Automation Testing Report");
            email.setMsg("Please find the ePQS Automation Testing Report from attachment");
            email.setStartTLSEnabled(true);
            email.setSSLCheckServerIdentity(true);  
            email.setDebug(true); 

            email.getMailSession().getProperties().setProperty("mail.smtp.auth", "true");
            email.getMailSession().getProperties().setProperty("mail.smtp.starttls.enable", "true");
            email.getMailSession().getProperties().setProperty("mail.smtp.port", "587");
            email.getMailSession().getProperties().setProperty("mail.https.proxy.host", "http://10.64.150.9");
            email.getMailSession().getProperties().setProperty("mail.https.proxy.port", "8080");

我们公司的代理需要身份验证。我相信 javax.mail 不支持它。有支持代理验证的java邮件吗? Apache ·詹姆斯.

如何正确设置代理?任何想法?十亿感谢您的帮助。

错误:

DEBUG: JavaMail version 1.6.2 DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle] DEBUG SMTP: need username and password for authentication DEBUG SMTP: protocolConnect returning false, host=smtp.gmail.com, user=kwong, password= DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false [INFO ] 2019-01-10 09:45:18.237 [main] - Exception: Sending the email to the following server failed : smtp.gmail.com:587

最佳答案

在属性设置中,您必须将“协议(protocol)”更改为您正在使用的协议(protocol)的实际名称,例如“smtp”。

关于java - Apache 常见邮件 : Exception: Sending the email to the following server failed : smtp. gmail.com:587,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54104644/

相关文章:

java - 如何使用 Mule 读取邮件并插入数据库?

jakarta-mail - 我正在使用javamail IMAP,但我不知道如何获取已发送邮件或除收件箱以外的其他文件夹

java - 标记 SEEN 不适用于 Yahoo!邮件?

applet - Java Applet 在 Internet Explorer 中仅加载一次(在第一个窗口中)

java - org.springframework.webflow.util.RandomGuid 上的错误 java.lang.NoClassDefFoundError

java - 支持快速第k大元素查找的队列数据结构

java - 为什么当我调用 notifyDataSetChanged() 时我的 ListView 没有更新?

javax.mail.SendFailedException,无法获取本地主机名

java - 如何创建 "offline"Java MimeMessage?

java - 错误 : Failed to run "javac -version", 确保您安装了 JDK