ともさんの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でメール送信

広告
新着ページ

AIを利用し、衣服のデザイン画から型紙を制作する方法  
2つのアパレル3D技術でひらくオーダーメイド生産の手法  
【洋裁型紙】前後身頃の肩の傾きは何故前身頃の方が傾いているのか  
電子追尾式天体写真撮影法  
日本ミツバチ巣箱の種類  
ドラフター(製図台)でソーイング  
日本ミツバチが逃亡  
カメさんの箱庭  
天体用デジタルカメラの構造と天体写真  
Javaで静止画像(Jpeg)を動画(Mov)に変換  
USBカメラをJAVAで制御  

他のサイト

3D-CAD
洋裁CAD

いいねなど

 RSS 

Author: Tomoyuki Ito

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