Apache常见邮件:异常:将电子邮件发送到以下服务器失败:smtp.gmail.com:587



我在执行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邮件吗?阿帕奇·詹姆斯。

如何正确设置代理?知道吗?非常感谢你的帮助。

错误:

调试:JavaMail 1.6.2版本调试:成功加载资源:/META-INF/javamail.default.address.map DEBUG:getProvider()返回javax.mail.Provider[TRANPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]调试SMTP:需要用户名和密码进行身份验证调试SMTP:protocolConnect返回false,host=smtp.gmail.com,user=kwong,password=调试SMTP:useEhlo true,useAuth true调试SMTP:尝试连接到主机"smtp.gmail.com",端口587,isSSL为false〔信息〕2019-01-10 09:45:18.237〔main〕-异常:发送邮件到以下服务器失败:smtp.gmail.com:587

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

最新更新