我有应用引擎应用程序。
我有一个名为push的 servlet 。我部署我的应用程序并调用我的 servlet GET 方法。
在我的 servlet 中,我有两种方法:
1)首先是:(该方法不发送邮件。我不明白为什么?我没有错误)
void sendMail() throws UnsupportedEncodingException{
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
String msgBody = "TEXT HERE";
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("ownerMail","Example.com Admin"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("maria.chiamaia@gmail.com", "Mr. User"));
msg.setSubject("YOUR PDF HAVE PROBLEMS");
msg.setText(msgBody);
} catch (AddressException e) {
log("error", e);
} catch (MessagingException e) {
log("error", e);
}
}
我也调用了另一种方法:(这有效!)
无效 snedTest(){
String to = "somebody";
String from = "ownerMail";
String host = "localhost:8080";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("This is the Subject Line!");
message.setText("This is actual message");
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
第一种方法不行!我不知道为什么?我在LOG中没有错误。但第二种方法有效。