我用这个代码发送电子邮件
Email email = new SimpleEmail();
email.setDebug(true);
email.setHostName("webmail.company.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator("username@company.com", "*****"));
email.setSSLOnConnect(true);
try {
email.setFrom("username@company.com");
email.setSubject("TestMail");
email.setMsg("Hi "+receiver.getSex()+" "+receiver.getName()+" "+editorBean.getValue());
email.addTo(receiver.getEmail());
email.send();
} catch (EmailException ex) {
Logger.getLogger(PersonBean.class.getName()).log(Level.SEVERE, null, ex);
result += "exptions :" + ex.getMessage();
return result;
}
,我认为smtp端口没有改变"向以下服务器发送邮件失败:webmail.company.com:465"有什么问题吗?
您需要使用setSslSmtpPort(String)
而不是setSmtpPort(int)
,因为您使用SSL连接。
检查您的IP是否被列入黑名单。在某些情况下,您需要显式地
Step1:
更改gmail帐户设置以允许不太安全的应用程序。转到https://myaccount.google.com/lesssecureapps,打开访问不太安全的应用
步骤2:
在我的案例中,当我试图发送电子邮件时,Avast Antivirus导致抛出异常。
Avast屏蔽控制->禁用10分钟
(或)
打开Avast用户界面->设置->组件-> MailShield(自定义)-> MainSettings -取消选中"扫描出站邮件(SMTP)"选项