Я делаю функцию уведомлений на мой сайт. Я пользуюсь почтой движка приложения, и пока она регистрирует сообщение о том, что письмо было отправлено, как показано ниже, я никогда не получаю его Журналы:
INFO: MailService.send
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: From: noreply@myapp.appspotmail.com
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: To: emailTest@gmail.com
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Reply-to: noreply@myapp.appspotmail.com
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Subject:
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Body:
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Content-type: text/html
abr 25, 2020 6:26:44 PM com.google.appengine.api.mail.dev.LocalMailService log
INFO: Data length: 2795
Вот мой код java, куда я отправляю электронное письмо. Я использую html файл из облачного хранилища, который загружается. Когда я log.info (данные) он распечатывает весь файл.
public void confirmationEmail(String name, String email, String lang) {
Session session = Session.getDefaultInstance(new Properties(), null);
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(email("noreply")));
msg.addRecipient(TO, new InternetAddress(email));
msg.setSubject(lang.equalsIgnoreCase(Constants.Languages.EN) ? CONFIRMATION_EN : CONFIRMATION_PT);
String data = new String(CloudStorage.getPrivate(String.format("confirmation-%s.html", lang), CloudStorageFolder.SYSTEM), StandardCharsets.UTF_8);
data.replace("$name", name);
Multipart multi = new MimeMultipart();
MimeBodyPart html = new MimeBodyPart();
html.setContent(data, "text/html");
multi.addBodyPart(html);
msg.setContent(multi);
log.info(data);
Transport.send(msg);
} catch (Exception e) {
e.printStackTrace();
}
}