【发布时间】:2020-04-25 17:33:05
【问题描述】:
我正在为我的网站制作通知功能。我使用应用程序引擎邮件,虽然它记录说电子邮件已发送,如下所示,但我从未收到它。 日志:
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(data) 时,它会打印出所有文件。
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();
}
}
【问题讨论】:
标签: java spring-boot email google-app-engine