JavaMail 添付画像メール送信・表示する例
2011/12/15 11:50Update
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"));
}
}
.
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)