Java InternetAddress型の配列を使って複数の宛先(TO)にメールを送信するサンプル

環境
JavaSE 1.8
Eclipse 4.14.0

構文
1.String型の配列に格納されたメールアドレスをInternetAddressに変換します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
String[] メール配列名 = {"メールアドレス1","メールアドレス2",...};
InternetAddress[] 配列名 =new InternetAddress[メール配列名.length];
String[] メール配列名 = {"メールアドレス1","メールアドレス2",...}; InternetAddress[] 配列名 =new InternetAddress[メール配列名.length];
String[] メール配列名 = {"メールアドレス1","メールアドレス2",...};
InternetAddress[] 配列名 =new InternetAddress[メール配列名.length];

2.setRecipients(Message.RecipientType type, Address[] addresses)
指定された受信者タイプを指定されたアドレスに設定します。
パラメーター:
type – 受信者タイプ
addresses – 住所

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

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// SMTPホストの設定
Properties prop = new Properties();
prop.put("mail.smtp.host", "ホストのアドレス");
// Sessionオブジェクトの取得
Session session = Session.getDefaultInstance(prop, null);
//MimeMessageを使用
MimeMessage msg = new MimeMessage(session);
//String型のメールアドレス配列
String[] mailArr = {"aa@gmail.com","bb@gmail.com"};
//InternetAddress型の配列
InternetAddress[] toList =new InternetAddress[mailArr.length];
int i = 0;
//InternetAddress型の配列を作成
for(String str : mailArr){
toList[i]=((new InternetAddress(str)));
i= i+1;
}
// 送信元(from)の設定
msg.setFrom(new InternetAddress("send@arkgame.com");
// 送信先(TO)の設定
msg.setRecipients(Message.RecipientType.TO,toList);
// 件名の設定
msg.setSubject("テストメールの件名", "utf-8");
// 送信日時
msg.setSentDate(new Date());
// 本文の設定
msg.setText("テストメールの本文", "utf-8","plain");
//送信
Transport.send(msg);
// SMTPホストの設定 Properties prop = new Properties(); prop.put("mail.smtp.host", "ホストのアドレス"); // Sessionオブジェクトの取得 Session session = Session.getDefaultInstance(prop, null); //MimeMessageを使用 MimeMessage msg = new MimeMessage(session); //String型のメールアドレス配列 String[] mailArr = {"aa@gmail.com","bb@gmail.com"}; //InternetAddress型の配列 InternetAddress[] toList =new InternetAddress[mailArr.length]; int i = 0; //InternetAddress型の配列を作成 for(String str : mailArr){ toList[i]=((new InternetAddress(str))); i= i+1; } // 送信元(from)の設定 msg.setFrom(new InternetAddress("send@arkgame.com"); // 送信先(TO)の設定 msg.setRecipients(Message.RecipientType.TO,toList); // 件名の設定 msg.setSubject("テストメールの件名", "utf-8"); // 送信日時 msg.setSentDate(new Date()); // 本文の設定 msg.setText("テストメールの本文", "utf-8","plain"); //送信 Transport.send(msg);
// SMTPホストの設定
Properties prop = new Properties();
prop.put("mail.smtp.host", "ホストのアドレス");

// Sessionオブジェクトの取得
Session session = Session.getDefaultInstance(prop, null);
            
//MimeMessageを使用
MimeMessage msg = new MimeMessage(session);
 
//String型のメールアドレス配列
String[] mailArr = {"aa@gmail.com","bb@gmail.com"};

 //InternetAddress型の配列
InternetAddress[] toList =new InternetAddress[mailArr.length];

int i = 0;
//InternetAddress型の配列を作成
for(String str : mailArr){
    toList[i]=((new InternetAddress(str)));
    i= i+1;
}

// 送信元(from)の設定
msg.setFrom(new InternetAddress("send@arkgame.com"); 

// 送信先(TO)の設定
msg.setRecipients(Message.RecipientType.TO,toList);

// 件名の設定
msg.setSubject("テストメールの件名", "utf-8");

// 送信日時
msg.setSentDate(new Date());
// 本文の設定
msg.setText("テストメールの本文", "utf-8","plain");

//送信
Transport.send(msg);

 

Java

Posted by arkgame