プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Java、JavaMailでメール送信(認証なし)
よくあるやりたいこと、メール送信。

JavaMailでやるのが一番楽そうなので
JavaMailでやることにしました。
っつー訳でやり方φ(--)


1.JAFのダウンロード
 「JavaBeans Activation Framework」とか言う奴です。
 JavaMailを使うにはこいつが必要らしいです。
 こことかからダウンロードしてください。
 キーワード「JavaBeans Activation Framework」とかで
 google先生を探せばすぐ見つかります。
 ほんでダウンロード&解凍してでてきた「activation.jar」に
 CLASSPATHを通します。

2.JavaMailのダウンロード
 こことかからダウンロードしてください。
 ほんでダウンロード&解凍してでてきた「mail.jar」に
 CLASSPATHを通します。

3.メール送信する部品をつくる。
 私はこんな感じの奴作りましたφ(--)

  package hoge.util;
  
  import java.util.*;
  import javax.mail.*;
  import javax.mail.internet.*;
  
  /**
   * メール送信用クラス
   * 
   */
  public class MailUtil {
      /**
       * メールを送信する
       * 
       * @param     toAddress  String 送信先メールアドレス
       * @param     msgStr  String 送信メールメッセージ
       * @param     subjectStr  String 件名
       * @param     fromAddress  String 送信元メールアドレス
       * @param     smtpHost  String SMTPサーバ
       * @param     smtpPort  String 送信ポート番号
       * @param     debug  boolean デバッグモード
       * @return    retValue  Boolean メール送信結果
       */
      public static Boolean send(String toAddress, String msgStr, String subjectStr
                          ,String fromAddress, String smtpHost
                          ,String smtpPort, boolean debug){
          /* 戻り値 */
          Boolean retValue = true;
      
          try{
              Properties props = new Properties();
              props.put("mail.smtp.host", smtpHost);
              props.put("mail.smtp.port", smtpPort);
              if (debug){
                  props.put("mail.debug", true);
              }
              Session session = Session.getInstance(props, null);
              session.setDebug(debug);
  
              MimeMessage msg = new MimeMessage(session);
              msg.setFrom(new InternetAddress(fromAddress));
              InternetAddress[] address = {new InternetAddress(toAddress)};
              msg.setRecipients(Message.RecipientType.TO, address);
              msg.setSubject(subjectStr, "iso-2022-jp");
  
              msg.setSentDate(new Date());
              
              msg.setText(msgStr, "iso-2022-jp");
  
              Transport.send(msg);
          }catch(Exception ex){
              ex.printStackTrace();
              retValue = false;
          }
          return retValue;
      }
  }



4.「3.」で作った部品を呼ぶ。
  Boolean retValue = MailUtil.send("to@hoge.info", "title", "msg","from@hoge.info","smtp.hoge.info","587",false);
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Java  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事