1

さまざまなホストを持つ多くのアドレスに一括レポート メールを送信するアプリを構築しようとしています。私は Javamail を使用していますが、まだ学習中です。

例を見つけて、会社のサーバーをホストとしてメールを送信してみました(xyz会社としましょう)。

ここにサンプルコードがあります

package mailexample;

import javax.mail.*;
import javax.mail.internet.*;


public class MailExample {
public static void send(String smtpHost, int smtpPort,
    String from, String to,
    String subject, String content) {

    try {

        java.util.Properties props = new java.util.Properties();
        props.put("mail.smtp.host", smtpHost);
        props.put("mail.smtp.port", ""+smtpPort);
        Session session = Session.getDefaultInstance(props, null);
        //Store store = session.getStore();
        //Folder folder = store.getFolder("INBOX");
        //System.out.println(folder.getMessage(1)); 

        Message msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress(from));
        msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        msg.setSubject(subject);
        msg.setText(content);

        Transport.send(msg);
    }
    catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) throws Exception {
    try {
        send("mail.xyz.ac", 25, "asdf@xyz.ac", "qwer@xyz.ac",
        "title", "content");
    }
    catch(Exception e) {
        e.printStackTrace();
    }
}
}

正常に動作し、アドレスが無効な場合にエラー スタック トレースが表示されます。しかし、これは、mail.xyz.ac である同じサーバー/ホストに電子メールを送信した場合にのみ発生します。

ランダムな gmail または ymail アドレス (存在しない可能性が高い) に電子メールを送信すると、アプリは成功メッセージを返しますが、その後は何も起こりませんでした。配信されません。

問題は、後で通知するためにそのメッセージをデータベースに保存する必要があることです。私のアプリからそのメッセージを取得することは可能ですか?

4

1 に答える 1

2

JavaMail FAQは、JavaMail を学習する際の友となります。 このエントリこのエントリは、あなたの質問に対処します。また、よくある間違いについてのエントリも必ずお読みください。

于 2012-08-01T17:56:07.047 に答える