Spring - аутентификация SMTPSendFailedException Требуется только при развертывании веб-приложения на GCP
У меня очень странная проблема, когда я пытаюсь отправить электронное письмо, когда WEBAPP работает на компьютере локально, все работает отлично. Но когда я загружаю WEBAPP на сервер Google, он бросает меня
Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at\n530 5.5.1 https://support.google.com/mail/?p=WantAuthError g1sm2030389ioj.45 - gsmtp\n"
это класс, который отправляет электронные письма
@Service
public class MailService {
private JavaMailSender mailSender;
@Autowired
public MailService(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
@Async
public void sendMail(ArrayList<String> mails, String body, String title){
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom("some mail");
mailMessage.setSubject(title);
mailMessage.setText(body);
for (String to :
mails) {
mailMessage.setTo(to);
mailSender.send(mailMessage);
}
}
}
что я мог быть?! отлично работает на IDE, но когда я разверну на сервлете Tomcat, это исключение.
я включил менее безопасные приложения в настройках пользователя
1 ответ
GCP блокирует стандартные почтовые порты, вы можете выбрать нестандартный порт для отправки электронной почты. Вы также можете воспользоваться почтовыми услугами, предлагаемыми партнерами Compute Engine: SendGrid, Mailgun и Mailjet.
Смотрите здесь: https://cloud.google.com/compute/docs/tutorials/sending-mail