javamail 发送邮件报错:Could not connect to SMTP host: smtp.163.com, port: 25 ,问题解决
javapackage com.qcn.framework;import com.sun.mail.util.MailSSLSocketFactory;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.security.G
·
java
package com.qcn.framework;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;
public class EmailUtils {
public static void main(String[] args) {
//常用发送邮件demo1【部署到服务器会报错:Could not connect to SMTP host: smtp.163.com, port: 25】
// Properties props = new Properties();
// props.setProperty("mail.smtp.auth", "true");
// props.setProperty("mail.transport.protocol", "smtp");
// props.put("mail.smtp.host", "smtp.163.com");// smtp服务器地址
// Session session = Session.getInstance(props);
// session.setDebug(true);
// Message msg = new MimeMessage(session);
// try {
// msg.setSubject("邮件标题");
// msg.setText("邮件内容");
// msg.setFrom(new InternetAddress("发件人"));
// msg.setRecipient(Message.RecipientType.TO,
// new InternetAddress("收件人"));
// msg.saveChanges();
// Transport transport = session.getTransport();
// transport.connect("发件人", "SDFA授权码FFHBF");
// transport.sendMessage(msg, msg.getAllRecipients());
// System.out.println("邮件发送成功!");
// transport.close();
// } catch (MessagingException e) {
// System.out.println("邮件发送成功失败:"+e.getMessage());
// }
//正确的demo【解决部署到服务器后报错】
try {
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");
props.setProperty("mail.host", "smtp.163.com");
props.setProperty("mail.smtp.auth", "true");// 指定验证为true是否需要身份验证
props.setProperty("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("发件人邮箱名(不要@163.com)", "SDFA授权码FFHBF");
}
};
Session session = Session.getInstance(props, auth);
session.setDebug(true);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("chihouzhineng@163.com"));
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress("收件人"));
message.setSubject("邮件标题");
message.setContent("邮件内容", "text/html;charset=utf-8");
Transport.send(message);
} catch (GeneralSecurityException e) {
System.out.println("异常1:" + e.getMessage());
} catch (MessagingException e) {
System.out.println("异常2:" + e.getMessage());
}
}
}
如果部署后还报错,就查看端口配置
登录阿里云开放163邮箱端口
163邮箱对应端口:官方
更多推荐
已为社区贡献3条内容
所有评论(0)