ともさんのHP >プロブラミング >自作JavaLibrary >JAVAでメール送信

メールを送信するJAVAclass

メールを自動送信するためのクラスを作りました。
最近「ゴミの日はいつだったかなぁ」と調べるのもめんどくさくて、部屋にゴミが溜り気味。
そこで、日々の予定とデータベースに入れておいて、毎朝携帯に今日の予定(ゴミだし日など)を自分に知らせるようにしました。

広告

メールを送信するために作ったのが下記のクラスです。
ヤフーメール用にしてあります。自前のURLを持っているので、このURLを使えばよいのですが、独自URLのアドレスでメールを出そうとすると、SSLで暗号化したパスワードを送信しなければならないので断念しました。
そこで、暗号化の必要がないヤフーメールのアカウントをこのプログラム用に取得しました。
下記ソース中のパスワードやIDは実在しないものですので、念のため。
ヤフーメールアカウントを用いるなら、このクラスでそのまま動くと思います。

実行プログラムは、設定時刻になると、予定の入ったデータベースを読み込んでデータを取得し、このクラスにデータを渡してメールを送信するように作ってあります。

ネット上の情報を参考に作りました

ソースですが、いつものようにネット上のたくさんの諸先輩方のものを参考にさせていただきました。いつもありがとうございます。

なぜか、ネット上のソースはパスワードを使用しない文例ばかりなので、ちょっと探すのに苦労しました。

必要なもの

JavaMailとJAFが必要です。
下記からダウンロードしてクラスパスを通しましょう。
私の場合は、javaのフォルダ C:\Program Files\ Java 楽天 \jdk1.6.0_07\jre\lib\ext
activation.jar、mail.jarとlibフォルダを置いただけでOKでした。
JavaMail
JAF

広告

以下ソースリストです。

package tomojavalib.net;



import java.io.UnsupportedEncodingException;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;



public class SendMail {

  /**
   * @param args
   */
  public static void main(String[] args) {
  SendMail sm = new SendMail();
  //あて先のアドレス
  String to = "atesaki@totomo.net";
  //件名
  String subject = "試験です";
  //内容
  String text = "こんにちは";
  //送信
  sm.send( to , subject , text );
  }
  
  
public void send(String to,String subject, String text )
{
   //smtpサーバー名(ヤフーメール用)
  String smtpserver = "smtp.mail.yahoo.co.jp";
  String popserver = "pop.mail.yahoo.co.jp";
  
  Properties ppts=new Properties();
  ppts.put("mail.smtp.host", smtpserver ); // SMTPサーバセット
  ppts.put("mail.smtp.auth", "true" );
  ppts.put("mail.host", popserver ); // popサーバーセット
  ppts.put("mail.smtp.port", String.valueOf("587"));//smtpポート番号(ヤフーメール用)
  
  // JavaMailのデバッグモード
  //ppts.put("mail.debug", "true"); 

  // メールセッションの作成
  Session session=Session.getDefaultInstance(ppts,null);
  MimeMessage mms=new MimeMessage(session);
  try {
  // to
   mms.setRecipients(Message.RecipientType.TO, to );
  // from(ヤフーメールのアドレス、送信者名)
   InternetAddress iads=new InternetAddress("akaunto@yahoo.co.jp","ともさん");
   mms.setFrom(iads);
  // subject
   mms.setSubject( subject ,"SJIS");  
  // text
   mms.setText( text ,"SJIS");
   
  //送信
  Transport transport = session.getTransport("smtp");
  //ヤフーメールのアカウントとパスワードをセット
  transport.connect(null,"akaunto","pasuwa-do");
  transport.sendMessage( mms,mms.getAllRecipients());
  
  } catch (UnsupportedEncodingException e) { e.printStackTrace();
  } catch (MessagingException e) { e.printStackTrace();} 

  return;
}
  
}

最終更新日: 2017-01-18 09:33:15

ともさんのHP >プロブラミング >自作JavaLibrary >JAVAでメール送信

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

スリットカメラアプリケーション  
ゴアテックス生地の入手方法  
洗濯物干しハンガーの自作  
3次元CADで帽子の型紙  
【Java】画像の座標変換のためのクラス  
USBカメラをJAVAで制御して定点観測  
ミソハギの育てかた  
3次元CADでぬいぐるみ  
JavaFXのMeshViewに衝突判定を付加  
ニセアカシアの伐採  
小動物の飼いかた  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます