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を使用したメール送信のコードを記述する際に
参考になりましたら幸いです。
(※コードの使用は自己責任でお願いします)
管理人が構築・管理しているお役立ち情報サイトです。もしよろしければお立ち寄りください。
https://www.dayplusdigital.com/
(自分も忘れそうなので、備忘録としても使おうと思います[笑])
以下のサンプルコードは「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を使用したメール送信のコードを記述する際に
参考になりましたら幸いです。
(※コードの使用は自己責任でお願いします)
管理人が構築・管理しているお役立ち情報サイトです。もしよろしければお立ち寄りください。
https://www.dayplusdigital.com/
コメント 0