[英]Can't make API call mail.Send from com.google.appengine library using MailService
问题是我在我的 maven 项目中集成了 com.google.appengine,我想使用 MailService 发送邮件,但它抛出了我不知道如何解决的异常。 它抛出我:“无法在既不是原始请求线程也不是由 ThreadManager 创建的线程的线程中进行 API 调用 mail.Send”。 你能帮我解决吗? 这是我的 Maven 依赖项:
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.9.73</version>
</dependency>
这是代码:
MailService mailService = MailServiceFactory.getMailService();
Message message = new Message();
message.setSender("dilian_1995@abv.bg");
message.setTo("dilyangalabov@gmail.com");
message.setSubject("Test");
message.setTextBody("Testt");
try {
mailService.send(message);
}
catch (IOException e) {
e.printStackTrace();
}
我使用 javax.mail 制作邮件发送服务,就是这样。 “String to”是您要发送的电子邮件。 要通过谷歌发送我 setPropetry mail.smtp.host 到 smtp.gmail.com
public class MailSend {
public static boolean main(String to) throws IOException, MessagingException {
final Properties properties = new Properties();
properties.setProperty("mail.transport.protocol", "smtps");
properties.setProperty("mail.smtps.auth", "true");
properties.setProperty("mail.smtps.host", "smtp.gmail.com");
properties.setProperty("mail.smtps.user", "YOUREMAIL@gmail.com");
Session session = Session.getDefaultInstance(properties);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("YOUREMAIL@gmail.com"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("THEME");
message.setText("TEXT");
Transport transport = session.getTransport();
transport.connect("YOUREMAIL@gmail.com", "PASSWORD");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.