Я должен отправлять письма с напоминанием примерно 150 людям 1-го числа каждого месяца.
Казалось, все работает нормально, но в этом месяце ... Я начал получать
Caused by: javax.mail.AuthenticationFailedException: 421 4.3.2 Service not active [BN6PR1801CA0007.namprd18.prod.outlook.com]
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:965) ~[javax.mail-1.6.2.jar!/:1.6.2]
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:876) ~[javax.mail-1.6.2.jar!/:1.6.2]
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:780) ~[javax.mail-1.6.2.jar!/:1.6.2]
at javax.mail.Service.connect(Service.java:366) ~[javax.mail-1.6.2.jar!/:1.6.2]
это сообщение об ошибке внезапно.
Оно все еще отлично работает, отправляя небольшое количество людей.
Когда я пытаюсь набрать большое количество людей, оно отправляетпримерно до 10 человек и выбрасывает эту ошибку.Затем он отправляет остальные письма через несколько минут;однако, похоже, что он не завершает цикл должным образом из-за ошибки.
--- application.properties ---
spring.mail.host=smtp.office365.com
spring.mail.port=587
spring.mail.protocol=smtp
spring.mail.username=xx@xxxx.com
spring.mail.password=xxxxxx
spring.mail.properties.mail.transport.protocol=smtps
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtps.timeout=8000
--- метод отправки ---
public void sendEmail(String tok, String email, int file, String msg, String to) throws UnsupportedEncodingException, MessagingException, FileNotFoundException
{
FilePath fp = new FilePath();
String token = tok;
String recipientAddress = email;
String subjectConfirm = "Confirm " + to;
String subjectAlert = "Alert " + to;
String confirmationUrl = fp.getServer() + "/to/filesConfirm?token=" + token;
String message = msg;
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
mimeMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress(recipientAddress));
mimeMessage.setFrom(new InternetAddress("xx@xxxx.com"));
if (file > 0)
{
mimeMessage.setSubject(subjectConfirm);
mimeMessage.setContent(message + "<br>" + "<a target='_blank' href="+confirmationUrl+"><button>Confirm</button></a>"
+ "<br>" + "If the button above doesn't work, please click or copy&paste the address below to 'Confirm'."
+ "<br>" + confirmationUrl, "text/html;charset=UTF-8");
}
else
{
mimeMessage.setText(message);
mimeMessage.setSubject(subjectAlert);
}
}
}; this.mailSender.send(preparator);
}