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