我正在使用SMTP错误发送电子邮件。我的身份验证失败。用户名和密码正确。我是不是做错了什么。
错误日志为
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 = "ssss@xxx.om"; // sender email
String from = "dddd@xxx.com"; // 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();
}
}
}
错误是
调试SMTP:验证NTLM失败异常在线程"main“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)
发布于 2016-05-20 16:48:56
也有同样的问题。这是您收到的MS Exchange错误。您可能不允许使用您的电子邮件通过中继发送电子邮件。Exchange服务器的管理员需要授予执行此操作的权限。
它与Java端的配置问题无关。
发布于 2018-04-20 18:45:00
你好,我在过去也遇到过同样的问题。因此,为了解决这个问题,我不得不连接到我的outlook或exchage的网络邮件上,我注意到这些连接被服务器停止了,所以我在里面确认这些事务是我的。所以在我的情况下,你也必须每两个月做一次。
问题不在代码中。问题的发生是因为我相信邮箱的配置有问题。
发布于 2020-03-26 04:37:45
通过在outlook邮件管理的Exchange控制面板(ECP)中启用发件人电子邮件帐户的IMAP来解决此问题。
https://stackoverflow.com/questions/33243450
复制相似问题