java - Apache Common Mails:异常:将电子邮件发送到以下服务器失败: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 调试:getProvider() 返回 javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport ,Oracle] DEBUG SMTP: 需要用户名和密码进行身份验证 DEBUG SMTP: protocolConnect 返回 false, host=smtp.gmail.com, user=kwong, password= DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: 试图连接到主机" smtp.gmail.com”,端口 587,isSSL false [INFO] 2019-01-10 09:45:18.237 [main] - 例外:将电子邮件发送到以下服务器失败:smtp.gmail.com:587
解决方案
在您的属性设置中,您必须将“协议”更改为您正在使用的协议的实际名称,例如“smtp”。
推荐阅读
- silverstripe - Silverstripe 4 管理员添加新的 FormField 模板未找到错误
- angular - 如何在子组件的ngOnInit之后调用父组件中的方法
- angular - 如何将 Angular 8 与 Camunda BPM 集成
- c - 为什么C不支持TDD。它不能模拟功能?
- google-analytics - 跟踪 Google 数据洞察报告的使用情况
- xamarin.forms - 无法与 SignalR(.NET 框架)协商 Xamarin 表单
- python-3.x - Flask 中的密码加密
- python - 如何在大数据帧上使用 scipy 提高相关分析的计算效率
- laravel - 为什么显示此错误:为 foreach() 提供的参数无效
- android-studio - E/ModuleIdSetter:设置模块id时出现异常。这个错误是什么意思?