So-net無料ブログ作成

JavaMailを使用したメール送信サンプルコード [Java]

JavaMailを使用したメール送信サンプルコードをご紹介します。
(自分も忘れそうなので、備忘録としても使おうと思います[笑])

以下のサンプルコードは「JavaMail 1.4.5」を使用しています。
「JavaMail 1.4.5」を入手する場合、下記URLよりダウンロードできます。

http://www.oracle.com/technetwork/java/javamail/index-138643.html

※JavaMailでのメール送信には「mail.jar」が必要になります。



・添付ファイルなしのシンプルなメール送信

// ファイル名:JavaMailTest.java

//----------- ここから----------

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class JavaMailTest {

static String msgText = "メール送信テスト";

/**
* @param args
*/
public static void main(String[] args) {

// メール送信の為のパラメータを設定する
String to = "toaddress@test.jp"; // 送信先メールアドレス
String from = "fromaddress@test.jp"; // 送信元メールアドレス
String host = "192.168.1.1"; // 送信メールサーバのIPアドレス

// メール送信時のデバッグ設定用変数を定義する
//boolean debug = Boolean.valueOf(true).booleanValue(); // デバッグ設定を有効にする
boolean debug = Boolean.valueOf(false).booleanValue(); // デバッグ設定を無効にする

// メール送信の為のプロパティを設定する
Properties props = new Properties();
props.put("mail.smtp.host", host); // 送信メールサーバを設定

// デバッグ設定を行う
if (debug) props.put("mail.debug", Boolean.valueOf(debug));

// メール送信の為のセッションを取得する
Session session = Session.getInstance(props, null);
session.setDebug(debug); // デバッグ設定をセッションに反映する

try {

// メッセージオブジェクトを作成する
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from)); // 送信元メールアドレスを設定
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address); // 送信先メールアドレスを設定
msg.setSubject("Mail Send Test"); // メール件名を設定
msg.setSentDate(new Date()); // メール送信日を設定
msg.setText(msgText); // メール本文を設定

// メールを送信する
Transport.send(msg);

} catch (MessagingException msgex) {

System.out.println("メール送信テストでエラーが発生しました。");

msgex.printStackTrace();
}
}
}


//----------- ここまで ----------



・添付ファイル付きのメール送信

// ファイル名:JavaMailAttachedfileTest.java

//----------- ここから ----------

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class JavaMailAttachedfileTest {

static String msgText = "添付ファイル付きのメール送信テスト";

/**
* @param args
*/
public static void main(String[] args){

// メール送信の為のパラメータを設定する
String to = "toaddress@test.jp"; // 送信先メールアドレス
String from = "fromaddress@test.jp"; // 送信元メールアドレス
String host = "192.168.1.1"; // 送信メールサーバのIPアドレス

// 添付ファイル名を設定する
String attachedFileName = "D:\\AttachedFile.txt";

// メール送信時のデバッグ設定用変数を定義する
//boolean debug = Boolean.valueOf(true).booleanValue(); // デバッグ設定を有効にする
boolean debug = Boolean.valueOf(false).booleanValue(); // デバッグ設定を無効にする

// メール送信の為のプロパティを設定する
Properties props = new Properties();
props.put("mail.smtp.host", host); // 送信メールサーバ(SMTP)を設定
props.put("mail.host", host); // 送信メールサーバを設定
props.put("mail.from", from); // 送信元メールアドレスを設定

// デバッグ設定を行う
if (debug) props.put("mail.debug", Boolean.valueOf(debug));

// メール送信の為のセッションを取得する
Session session = Session.getInstance(props);
session.setDebug(debug); // デバッグ設定をセッションに反映する

try{

// メッセージオブジェクトを作成する
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from)); // 送信元メールアドレスを設定
InternetAddress[] address = InternetAddress.parse(to);
msg.setRecipients(Message.RecipientType.TO, address); // 送信先メールアドレスを設定
msg.setSubject("Mail Send Test(Attached File)", "ISO-2022-JP"); // メール件名を設定
msg.setSentDate(new Date()); // メール送信日を設定

// MIMEボディパートオブジェクト(メール本文用)を作成
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(msgText, "ISO-2022-JP"); // メール本文を設定

// MIMEボディパートオブジェクト(添付ファイル用)を作成
MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource(attachedFileName); // 添付ファイルをオブジェクトに読み込む
mbp2.setDataHandler(new DataHandler(fds)); // MIMEボディパートオブジェクトに添付ファイルをセット
mbp2.setFileName(MimeUtility.encodeWord(fds.getName())); // メールに添付する際の添付ファイル名を設定

// MIMEマルチパートオブジェクトを作成
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1); // メール本文が設定されたMIMEボディパートオブジェクトを追加
mp.addBodyPart(mbp2); // 添付ファイルが設定されたMIMEボディパートオブジェクトを追加

// メッセージオブジェクトにMIMEマルチパートオブジェクトをセット
msg.setContent(mp);

// メールを送信する
Transport.send(msg);

}catch(MessagingException msgex){

System.out.println("添付ファイル付きのメール送信テストでエラーが発生しました。");

msgex.printStackTrace();

}catch(java.io.UnsupportedEncodingException unsptex){
}

}

}

//----------- ここまで ----------


JavaMailを使用したメール送信のコードを記述する際に
参考になりましたら幸いです。
(※コードの使用は自己責任でお願いします)





人気ブログランキングへ←ブログランキングに参加しておりますので、ぜひ応援のクリックをお願いします。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0