记得开阿里云的465端口
最近准备将一个项目发布到阿里云,在本地所有的功能都能够实现的很好,但是一到阿里云
错误报告内容:Could not connect to SMTP host: smtp.163.com, port: 25
翻译起来就是:不能连接到smtp.163.com,因为25号端口的原因。
也就是说,可以修改为:
public static void main(String[] args) throws Exception {
Properties prop = new Properties();
//协议
prop.setProperty("mail.transport.protocol", "smtp");
//服务器
prop.setProperty("mail.smtp.host", "smtp.exmail.qq.com");
//端口
prop.setProperty("mail.smtp.port", "465");
//使用smtp身份验证
prop.setProperty("mail.smtp.auth", "true");
//获取Session对象
Session s = Session.getDefaultInstance(prop,new Authenticator() {
//此访求返回用户和密码的对象
@Override
protected PasswordAuthentication getPasswordAuthentication() {
PasswordAuthentication pa = new PasswordAuthentication("***", "********");
return pa;
}
});
//设置session的调试模式,发布时取消
s.setDebug(true);
MimeMessage mimeMessage = new MimeMessage(s);
try {
mimeMessage.setFrom(new InternetAddress("***@163.com"));
mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("********@**.com"));
//设置主题
mimeMessage.setSubject("账户密码重置");
mimeMessage.setSentDate(new Date());
//设置内容
mimeMessage.setText("您使用了密码重置功能");
mimeMessage.saveChanges();
//发送
Transport.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}