javax.mail.AuthenticationFailedException在使用属性文件检索用户名和密码时

javax.mail.AuthenticationFailedException在使用属性文件检索用户名和密码时,java,selenium-webdriver,testng,Java,Selenium Webdriver,Testng,代码: 在执行下面提到的代码时,我遇到了一个错误 “javax.mail.AuthenticationFailedException:535.7.3身份验证未成功。” 尽管用户名和密码是正确的。当我将用户名从域\用户名更改为用户名时,我得到了结果 通常,该错误意味着您的用户名或密码不正确。您是否尝试使用用户名:用户名而不是用户名:域/用户名进行身份验证?您的解决方案成功了…谢谢:)太好了!不客气。如果您没有更改安全设置(如果是Gmail帐户),也会发生此异常。收件人电子邮件地址的设置为“访问不太

代码:

在执行下面提到的代码时,我遇到了一个错误

“javax.mail.AuthenticationFailedException:535.7.3身份验证未成功。”


尽管用户名和密码是正确的。

当我将用户名从
域\用户名
更改为
用户名
时,我得到了结果

通常,该错误意味着您的用户名或密码不正确。您是否尝试使用
用户名:用户名
而不是
用户名:域/用户名
进行身份验证?您的解决方案成功了…谢谢:)太好了!不客气。如果您没有更改安全设置(如果是Gmail帐户),也会发生此异常。收件人电子邮件地址的设置为“访问不太安全的应用程序”。LittlePanda,你知道“smtp.office365.com”的安全设置吗?当我更改gmail安全设置时,它工作正常,但当我使用Microsoft帐户尝试相同的代码时,它失败了。那么你知道如何调整“smtp.office365.com”吗?
package maintestcases;  

import org.testng.annotations.Test;    
import java.io.IOException;
import java.util.Properties;    
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;


import java.util.*;
import java.io.*;

public class SendMailSSL {

    //ClassLoader classLoader;
    @Test
    public void email() {


final BodyPart messageBodyPart;
            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            final Properties props = new Properties();
            try {
                props.load(classLoader.getResourceAsStream("maintestcases/Credentials.properties"));
                String Username = props.getProperty("username");
                String Password= props.getProperty("password");
            } catch (IOException e) {
                e.printStackTrace();
            }
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.host", "smtp.***.com");
            props.put("mail.smtp.port", "465");



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

            try {
                Message message = new MimeMessage(session);


                message.setFrom(new InternetAddress("vijayalakshmi.lakshmanan@xxxx.com"));
                message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("vijayalakshmi.lakshmanan@xxxx.com"));
                message.setSubject("Automation Testing report");
                message.setText("Dear Mail Crawler,"
                    + "\n\n No spam to my email, please!");     


                MimeBodyPart p1 = new MimeBodyPart();

                String html = "<html><head><title>" +
                        message.getSubject() +
                        "</title></head><body><h1>" +
                        message.getSubject() +
                        "</h1><p>This is a test of sending an HTML e-mail" +
                        " through Java.</body></html>";
                p1.setDescription(html);



                MimeBodyPart p2 = new MimeBodyPart();


                FileDataSource fds = new FileDataSource("C:\\Documents and Settings\\vlakshm\\workspace\\Trial\\test-output\\emailable-report.html");
                p2.setDataHandler(new DataHandler(fds));
                p2.setFileName(fds.getName());


                Multipart mp = new MimeMultipart();
                mp.addBodyPart(p1);
                mp.addBodyPart(p2);


                message.setContent(mp);
                  Transport.send(message);

                System.out.println("Done");


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

    }
}
Credentials.properities file:
username:domain/username
Password:********