java发邮件程序一直报错javax.mail.AuthenticationFailedException
报错信息:
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at wx.Send.sendmail(Send.java:46)
at wx.Send.main(Send.java:61)
简单发邮件代码:
import java.security.Security;
import java.util.Date;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class Send {
private String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
private Transport transport;
private MimeMessage message;
//发送邮件
public void sendmail(final String username,final String pass,String from,String to,String subject,String content){
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Properties props = System.getProperties();
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
// props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.store.protocol", "smtp");
props.setProperty("mail.smtp.host", "smtp.qq.com"); //"smtp.exmail.qq.com"
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props, new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, pass);
}});
message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to,false));
message.setSubject(subject);
message.setText(content);
message.setSentDate(new Date());
message.saveChanges();
Transport.send(message);
System.out.print("发送成功!");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws AddressException,
MessagingException {
Send send = new Send();
send.sendmail("xx@qq.com","x", "x@qq.com","x@qq.com", "11222331","11222331");
}
}
账号密码确认是正确的,就是一直报错这个错,已在网上搜各种例子都是这样的写的,请大师们给瞅瞅。