Apache Commons Email – 複数の宛先にメールを送信するには


複数の宛先にメールを送信するためには、
setTosetCcsetBccsetReplyToメソッドを使用します。

package net.tk_factory.example.apache.commons.email;

import java.util.ArrayList;
import java.util.Collection;

import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;

import net.tk_factory.example.AbstractExample;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
import org.apache.log4j.Logger;

/**
 * Apache Commons Emailを使用したサンプルプログラムです。<br/>
 * <br/>
 * <b>内容</b>
 * <ol type="1">
 * <li>複数の宛先にメールを送信します。</li>
 * </ol>
 * @author Takafumi Kondo (TK Factory)
 * @see org.apache.commons.mail.SimpleEmail
 */
public class ExampleSimpleEmailSend2 extends AbstractExample
{
    /** クラス名 */
    private static final String CLASS_NAME =
            ExampleSimpleEmailSend2.class.getSimpleName();

    /** ロガー */
    private static final Logger LOGGER =
            Logger.getLogger(ExampleSimpleEmailSend2.class.getName());

    /**
     * ExampleSimpleEmailSend2オブジェクトを構築すると、
     * UnsupportedOperationExceptionがスローされます。<br/>
     */
    protected ExampleSimpleEmailSend2()
    {
        throw new UnsupportedOperationException();
    }

    /**
     * mainメソッドです。<br/>
     *
     * @param args 引数
     */
    public static void main(String[] args)
    {
        LOGGER.info("[START]" + CLASS_NAME);

        try
        {
            SimpleEmail email = new SimpleEmail();

            //メールサーバを設定する
            email.setHostName("mail.myserver.com");

            //送信先メールアドレスを設定する
            Collection<InternetAddress> to = new ArrayList<InternetAddress>();
            InternetAddress to1 = new InternetAddress("to1@mail.myserver.com");
            to.add(to1);
            InternetAddress to2 = new InternetAddress("to2@mail.myserver.com");
            to.add(to2);
            email.setTo(to);

            //送信先メールアドレス(CC)を設定する
            Collection<InternetAddress> cc = new ArrayList<InternetAddress>();
            InternetAddress cc1 = new InternetAddress("cc1@mail.myserver.com");
            cc.add(cc1);
            InternetAddress cc2 = new InternetAddress("cc2@mail.myserver.com");
            cc.add(cc2);
            email.setCc(cc);

            //送信先メールアドレス(BCC)を設定する
            Collection<InternetAddress> bcc = new ArrayList<InternetAddress>();
            InternetAddress bcc1 = new InternetAddress("bcc1@mail.myserver.com");
            bcc.add(bcc1);
            InternetAddress bcc2 = new InternetAddress("bcc2@mail.myserver.com");
            bcc.add(bcc2);
            email.setBcc(bcc);

            //送信元メールアドレスを設定する
            email.setFrom("from@mail.myserver.com");

            // 返信先メールアドレスを設定する
            Collection<InternetAddress> reply = new ArrayList<InternetAddress>();
            InternetAddress reply1 = new InternetAddress("reply1@mail.myserver.com");
            reply.add(reply1);
            InternetAddress reply2 = new InternetAddress("reply2@mail.myserver.com");
            reply.add(reply2);
            email.setReplyTo(reply);

            //メールのタイトルを設定する
            email.setSubject("Title");

            //メールの本文を設定する
            email.setMsg("Message");

            //メールを送信する
            email.send();
        }
        catch (EmailException ex)
        {
            LOGGER.error(getStackTrace(ex));
        }
        catch (AddressException ex)
        {
            LOGGER.error(getStackTrace(ex));
        }
        finally
        {
            LOGGER.info("[E N D]" + CLASS_NAME);
        }
    }
}

関連記事

  1. ソースを見直し、一部、修正しました。

  1. トラックバック 0

return top