У меня работает простой обработчик лямбда-запросов AWS, который отправляет электронную почту с помощью smtp. Когда я помещаю этот код в локальную функцию main()
, он работает хорошо и отправляет электронное письмо. При работе на AWS я получаю следующую ошибку javax.mail.MessagingException: 501 Syntax: HELO <hostname>
. Есть ли что-то, что нужно изменить в AWS для прохождения почты? Вот мой код:
Properties mailProps = new Properties();
mailProps.setProperty("mail.smtp.host", sesHost);
mailProps.setProperty("mail.smtp.port", port);
mailProps.setProperty("mail.smtp.user", user);
mailProps.setProperty("mail.smtp.auth", "true");
PasswordAuthentication auth = new PasswordAuthentication(user, password);
mailSession = Session.getInstance(mailProps, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return auth;
}
});
String toAddress = "example@example.com";
try{
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress("noreply@example.com", "Example"));
message.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(toAddress));
message.setSubject("test subject");
message.setContent("content content","text/html; charset=utf-8");
System.out.println("Sending email to" + toAddress);
Transport.send(message);
}
catch(Exception e){
e.printStackTrace();
System.out.println("Failed to send email");
}