2009-03-04

Java : JavaMail を使って gmail 経由でメールを送信してみる


gmail でちょっとごにょごにょ。


public static void send(String to, String subject, String text) throws Exception {
    Properties properties = new Properties();
    properties.setProperty("mail.smtp.host", "smtp.gmail.com");
    properties.setProperty("mail.smtp.port", "587");
    properties.setProperty("mail.smtp.starttls.enable", "true");
    properties.setProperty("mail.smtp.auth", "true");
    Session session = Session.getInstance(properties, new Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("user_name", "password");
        }
    });
    MimeMessage message = new MimeMessage(session);
    try {
        message.setFrom(new InternetAddress("xxx@gmail.com"));
        message.setRecipients(Message.RecipientType.TO, "piyo@foo.co.jp");
        message.setSubject("test", "iso-2022-jp");
        message.setText("fooboo", "iso-2022-jp");
        Transport.send(message);
    } catch (Exception e) {
        throw e;
    }
}



なんてのを、スケジュールで定期的に実行していたら ... 。


This is an automatically generated Delivery Status Notification

Delivery to the following recipient failed permanently:

    piyo@foo.co.jp

Technical details of permanent failure:
Message rejected.  See http://mail.google.com/support/bin/answer.py?answer=69585 for more information.

  ----- Original message -----

(以下略)



とかとか。
一旦は送信されるらしい(送信済みメールに履歴が残る)けど受信トレイに素敵なメッセージとともに戻ってくる。(仮に送信されっぱなしの場合は、数時間後に送信先へ到着)

AUTH LOGIN で頻繁に認証を行うとスパムに認定されてしまうのか。
けど、他にも認定要素は盛り沢山。


下記は、あきらかに Java で実行してますな Message-ID。
Message-ID: <00000000.0.0000000000000.JavaMail.javamailuser@localhost>



参考



ちょっとやらなくちゃいけないことがあったんだ。

0 件のコメント:

コメントを投稿