线程" main"中的例外情况java.lang.RuntimeException:javax.mail.AuthenticationFailedException:535 5.7.3身份验证失败

时间:2016-08-22 10:06:02

标签: java api email outlook javamail

我尝试使用javax.mail软件包从Outlook 2010发送电子邮件,但此代码无效,我确定邮件和密码是正确的

import java.io.IOException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {

 public static void main(String[]args) throws IOException {

    final String username = "something@gmail.com";
    final String password = "something";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "outlook.office365.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("something@gmail.com"));
        message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("something111@gmail.com"));
        message.setSubject("Test");
        message.setText("HI");

        Transport.send(message);

        System.out.println("Done");

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}}

它给了我以下错误:

Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful

at SendMail.main(SendMail.java:45)
Caused by: javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:932)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:843)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:748)
at javax.mail.Service.connect(Service.java:388)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at SendMail.main(SendMail.java:40)
Java Result: 1

这是我第一次使用mail api,请原谅我任何明显的错误。

0 个答案:

没有答案