Apache Commons Email – HTMLメールを送信するには


HTMLメールを送信するためには、HtmlEmailクラスを使用します。

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

import java.net.MalformedURLException;
import java.net.URL;

import net.tk_factory.example.AbstractExample;

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

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

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

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

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

        try
        {
            HtmlEmail email = new HtmlEmail();

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

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

            //送信先メールアドレス(CC)を設定する
            email.addCc("cc@mail.myserver.com");

            //送信先メールアドレス(BCC)を設定する
            email.addBcc("bcc@mail.myserver.com");

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

            //返信先メールアドレスを設定する
            email.addReplyTo("reply@mail.myserver.com");

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

            //HTMLとして埋め込むイメージを設定する
            URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
            String cid = email.embed(url, "Apache logo");

            //メールの本文(HTML)を設定する
            StringBuffer htmlMsg = new StringBuffer();
            htmlMsg.append("<html>The apache logo - <img src=\"cid:")
                .append(cid)
                .append("\"></html>");
            email.setHtmlMsg(htmlMsg.toString());

            //メールの本文(テキスト)を設定する
            email.setTextMsg("Your email client does not support HTML messages");

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

関連記事

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

  1. トラックバック 0

return top