簡體   English   中英

從獨立類收到的Java電子郵件,但在servlet中執行時未收到

[英]Java email received from standalone class, but not when executed within a servlet

使用Java,我可以很好地發送來自玩具獨立類的電子郵件(帶有硬編碼數據),並且我在幾秒鍾內收到了電子郵件。

但是,當在Servlet上下文中調用完全相同的代碼時,該代碼執行不會失敗, 但是實際上我沒有收到電子郵件。

怎么可能 Servlet環境有什么特別之處嗎? 我正在運行Tomcat 6,JRE 1.5。

這是代碼(我已經編輯了數據):

public void sendEmail(String aSubject, String aBody){
Properties props = new Properties();
props.put("mail.host", "smtp.blah.ca");
props.put("mail.from", "from-blah@blah.ca");
Session session = Session.getDefaultInstance(props, null /*no authenticator*/);
System.out.println("JRE" + System.getProperty("java.version"));
System.out.println(session.getProperties());
MimeMessage message = new MimeMessage(session);
try {
  message.addRecipient(
    Message.RecipientType.TO, new InternetAddress("to-blah@blah.com")
  );
  message.setSubject(aSubject);
  message.setText(aBody);
  Transport.send(message);
}
catch (MessagingException ex){
  System.err.println("Cannot send email. " + ex);
}

}

編輯:當內容(電子郵件正文)較小時,將接收電子郵件。 內容較大時,不會被接收。

這一點與Java無關。

我使用普通的電子郵件客戶端測試了一封大型電子郵件。 看到了相同的行為:電子郵件發送正常,但是由於某種原因我沒有及時收到它。 (我以前從未見過這種行為,但是確實有...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM