JavaMail 添付画像メール送信・表示する例

2011/12/15 11:50Update
TAGS: JavaMail | メール | Java | 画像 | Message | MimeMultipart | MimeBodyPart

JavaMailで添付画像のメールを送信するサンプルです。

コード例:
package com.syboos.demo.mail;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class ImageMailTest {

    /**
     * 
     * 添付ファイルを使ってHTML画像メールを作成する例
     * @throws MessagingException 
     * @throws AddressException 
     * @throws IOException 
     * @throws FileNotFoundException 
     */
    public static void main(String[] args) throws AddressException, MessagingException, FileNotFoundException, IOException {
        //1, Mail Session
        Session session = Session.getInstance(new Properties());
        MimeMessage message = new MimeMessage(session);
        
        //2, Mail From/To/Subject
        message.setFrom(new InternetAddress("test@test.com"));  //From address
        message.setRecipient(Message.RecipientType.TO, new InternetAddress("test@test.com")); //TO address
        message.setSubject("HTML画像メール テスト");  //subject
        
        //3, メール本文
        MimeBodyPart text = new MimeBodyPart();
        text.setContent("画像メールサンプル。<img src='cid:1.jpg'>", "text/html");
        
        //4, 画像ファイルを添付&設定
        MimeBodyPart image = new MimeBodyPart();
        image.setDataHandler(new DataHandler(new FileDataSource("c:\\mail\\1.jpg")));  //画像を添付
        image.setContentID("1.jpg");        //画像のID設定
                
        //5, メールと関連させる
        MimeMultipart body = new MimeMultipart();
        body.addBodyPart(text);                //メール本文(テキスト)
        body.addBodyPart(image);            //画像
        body.setSubType("related");

        message.setContent(body);            //メールの中身設定
        message.saveChanges();                 //
        
        //6, メールをローカルファイルに保存(メール送信:Transport.send(message); )
        message.writeTo(new FileOutputStream("c:\\mail\\imageTest.eml"));
    }

}

.

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation