0

Java を使用すると、おもちゃのスタンドアロン クラス (ハードコードされたデータを含む) から完全に問題なく電子メールを送信でき、数秒で電子メールを受信できます。

ただし、まったく同じコードがサーブレットのコンテキストで呼び出されると、コードは失敗せずに実行されますが、実際には電子メールを受信しません。

それはどうしてですか?サーブレット環境について何か特別なことはありますか? 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);
}

}

編集: 内容 (メール本文) が小さい場合にメールが受信されます。コンテンツが大きい場合、受信されません。

4

1 に答える 1

0

これは Java 関連ではありません。

通常のメール クライアントで大きなメールをテストしました。同じ動作が見られました。電子メールは正常に送信されますが、何らかの理由でタイムリーに受信されません。(私は前にこの種の行動を見たことがありませんが、そこにあります...)

于 2013-10-07T18:31:48.527 に答える