我正在使用SMTP错误发送电子邮件。我正在验证不成功。用户名和密码是正确的。难道我做错了什么。javax.mail.AuthenticationFailedException:535 5.7.3身份验证失败
错误日志
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailSender{
public static void main(String args[]) {
String to = "[email protected]"; // sender email
String from = "[email protected]"; // receiver email
String host = "dkdkdd.xxx.com"; // mail server host
String login="dkkdkd";
String pass="dkkdkd";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.user", login);
properties.setProperty("mail.smtp.password", pass);
properties.setProperty("mail.smtps.ssl.enable", "true");
// properties.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(properties); // default session
try {
MimeMessage message = new MimeMessage(session); // email message
message.setFrom(new InternetAddress(from)); // setting header fields
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Test Mail from Java Program"); // subject line
// actual mail body
message.setText("You can send mail from Java program by using");
// Send message
Transport transport = session.getTransport("smtp");
transport.connect(host, login, pass);
Transport.send(message);
System.out.println("Email Sent successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
的错误是
DEBUG SMTP:AUTH NTLM螺纹失败 异常 “主要” javax.mail.AuthenticationFailedException:535 5.7.3身份验证不成功
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
我已经试过这个,并且我得到了同样的错误ie异常在线程“main”javax.mail.AuthenticationFailedException:535 5.7.3身份验证失败 –
再次将auth设置为true ... @ MukeshKumar并添加 道具。 setProperty(“mail.smtp.starttls.enable”,“true”); –
非常感谢您的提示回复。我添加了你提到的内容。我得到错误220 2.0.0 SMTP服务器准备好 线程“main”中的异常javax.mail.MessagingException:无法将套接字转换为TLS;嵌套的异常是:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到com.sun.mail中所请求的目标的有效证书路径.smtp.SMTPTransport.startTLS(SMTPTransport.java:1907)at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:666) –