////////////////////////////////////////////////////////////////////////////////
//  << m121a.java >>
//
// メール(2):メール送信の手順(手順1)
//
//  手順1を説明する。
//
// ●手順
//  (手順1)SMTPサーバとセッションを確立する。
//      Sessionオブジェクトを取得する。
//  (手順2)送信元、送信先、サブジェクト、本文などを作成する。
//  (手順3)送信元、送信先、サブジェクト、本文などを設定する。
//      SessionオブジェクトからMimeMessageオブジェクトを作成する。
//      MimeMessageオブジェクトに送信元、送信先、サブジェクト、本文などを
//      設定する。
//  (手順4)メールの送信。
//      Transportクラスのsendメソッドを使って、MimeMessageオブジェクトを
//      メールとして送信する。
//
// ●javax.mail.Sessionクラス
//    メッセージの送受信を行うセッションを表す。
//     public final class Session extends Object
//
// ●javax.mail.Sessionクラスのメソッド
//    public static Session getDefaultInstance(Properties prop)
//   機能:プロパティpropを使って、Sessionオブジェクトを作成する。
//
////////////////////////////////////////////////////////////////////////////////

import javax.mail.Session;
import java.util.Properties;

class m121a {
  public static void main(String args[]) {

    try{
      ///////////////////////////////////////////////
      // (手順1)smtpサーバとセッションを確立する。//
      ///////////////////////////////////////////////
      String smtphost = args[0]; // smtpサーバ。
      Properties prop = new Properties();
      // メールサーバに接続する上で必要なプロパティ(mail.smtp.host)を設定する。
      prop.put("mail.smtp.host",smtphost);
      // Sessionオブジェクトを取得。
      Session ss = Session.getDefaultInstance(prop);

      //////////////////////////////////////////////////////////////
      //(手順2)送信元、送信先、サブジェクト、本文などを作成する。//
      //////////////////////////////////////////////////////////////

      //////////////////////////////////////////////////////////////
      //(手順3)送信元、送信先、サブジェクト、本文などを設定する。//
      //////////////////////////////////////////////////////////////

      //////////////////////////
      //(手順4)メールの送信。//
      //////////////////////////

      System.out.println("送信終了");

    } catch( Exception e ) {
      System.out.println(e); 
    }
  }
}