Привет, я в настоящее время разрабатываю приложение java, которое будет отправлять почту нескольким получателям через Java Mail Api (1.6.2), я настроил SMTP согласно проблеме с документами Microsoft, если код работает с моим личным идентификатор электронной почты hotmail, но он не работает для учетной записи корпоративного офиса 365.
Ошибка: javax.mail.AuthenticationFailedException: 535 5.7.3 Аутентификация не удалась [PN1PR0101CA0066.INDPRD01.PROD.OUTLOOK.COM]
POP и IMAP работают (получение почты), и я могу войти с паролем в Office 365 Web, я тоже пытался сменить пароль.
Код:
User user = Credentials.ACC;
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.office365.com");//outlook.office365.com
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587");//25
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.transport.protocol", "smtp");
//props.put("mail.smtp.ssl.enable", true);
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user.getUsername(), user.getPassword());
}
});
session.setDebug(true);
try {
MimeMessage msg = new MimeMessage(session);
msg.setFrom(user.getUsername());
msg.setRecipients(Message.RecipientType.TO,
"some@mail.com");
msg.setSubject("Testing SMTP using [" + user.getUsername() + "]");
msg.setSentDate(new Date());
msg.setText("Hey, this is a test from [" + user.getUsername() + "], Sending via Java Mail API");
Transport.send(msg);
System.out.println("Sent Ok");
} catch (MessagingException e) {
System.out.println("Something went wrong");
e.printStackTrace();
}