Java Mail Htmlメール送信を行うサンプル

環境
Java SE 1.8
Eclipse 4.14.0

構文
1.javax.mail.Sessionについて
public static Session getDefaultInstance(Properties props,Authenticator authenticator)

デフォルトの Session オブジェクトを取得します。デフォルトがまだ設定されていない場合、新しい Session オブジェクトが作成され、デフォルトとしてインストールされます。

2.クラス MimeMessage
public void setHeader(String name,String value) throws MessagingException
この header_name の値を設定します。既存のすべてのヘッダー値をこの新しい値で置き換えます。

3.public void setContent(Object o,String type) throws MessagingException

コンテンツは DataHandler オブジェクトにラップされています。
パラメーター:
o - コンテンツオブジェクト
type - オブジェクトの MIME 型

使用例

package com.arkgame.study.mail;

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class ArkSendHtmlMail {

    public static void main(String[] args) {
        try {
            Properties props = System.getProperties();
            props.put("mail.smtp.host", "xxxx");
            props.put("mail.smtp.auth","true");
                  // sessionのインスタンス生成
            Session session = Session.getDefaultInstance(props, null);
            MimeMessage mimeMessage = new MimeMessage(session);
            // 差出人
            mimeMessage.setFrom(new InternetAddress("form@arkgame.com", "arkgame", "iso-2022-jp"));
                  // 宛先
            mimeMessage.setRecipients(Message.RecipientType.TO, "to@arkgame.com");
            // 件名
            mimeMessage.setSubject("メールテストタイトル", "iso-2022-jp");
            // ヘッダ
            mimeMessage.setHeader("Content-Type", "text/html; charset=iso-2022-jp");
            //本文           
               mimeMessage.setContent("<html><body><a href=\"https://www.arkgame.com/\">arkgame.com</a></body></html>", "text/html; charset=iso-2022-jp");
             // 送信日付
                  mimeMessage.setSentDate(new Date());
                  //  Transport オブジェクトを取得
            Transport tp = session.getTransport("smtp");
            tp.connect(null, "user", "user");
            tp.sendMessage(mimeMessage, mimeMessage.getFrom());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

 

Java

Posted by arkgame