我使用此代码发送电子邮件
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” 问题是什么 ?
答案 0 :(得分:2)
您需要使用setSslSmtpPort(String)
而不是setSmtpPort(int)
,因为您使用SSL进行连接。
答案 1 :(得分:1)
检查您的IP是否列入黑名单。在某些情况下,您需要明确
在连接到smtp之前列出你的ip。
答案 2 :(得分:0)