1、错误描述
DEBUG: setDebug: JavaMail version 1.3.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1227)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322)
at javax.mail.Service.connect(Service.java:236)
at javax.mail.Service.connect(Service.java:137)
at com.you.mail.model.SendMessage.sendMessage(SendMessage.java:70)
at com.you.mail.model.SendMessage.main(SendMessage.java:89)
2、错误原因
从报错可知,无法连接SMTP服务主机
3、解决办法
配置正确的SMTP服务主机,保证服务连接上
String server = "smtp.163.com";
String username = "";
String password = "";
Transport transport = session.getTransport();
transport.connect(server, username, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();