Java
Java
Java2 SE 5.0 API
Java2 SE 1.4 API
Java2 EE API
Struts 1.0.2
MSDN2 Library
MySQL 5.1
MySQL 4.1
HTMLリファレンス
CSSリファレンス
JavaScript
基本カラーチャート
カレンダー
 最新PG・講座情報
 最新ニュース
 電子辞書・辞典
ご意見・ご要望はこちらまで

課題

Java

SMTP利用のメール送信


1.プログラムの仕様

 TCP/IPのSMTPプロトコルを利用して、メール送信のJavaアプリケーションを作成します。 フォームはSwingを利用してネットワークの送受信を行います。
 プログラムのクラスは MailTest とし、次のような流れになります。

  • 宛先と送信者名のメールアドレスをテキストフィールドに入力する。
  • 使用するメールサーバ名(SMTPホストサーバ名)をテキストフィールドに入力する。
  • テキストエリア(上段)のメッセージ欄にメールの本文を入力する。
  • 送信ボタンをクリックし、SMTPプロトコルに従いホストサーバの25番ポートにデータを送信する。
  • 同時にホストサーバからの受信内容(応答コード+メッセージ)をテキストエリア(下段)の通信欄に表示する。





 メソッドの一覧
No. 戻り値 メソッド名 引数 内容
1 ---- (コンストラクタ) なし フォームの生成とイベント登録
2 なし actionPerformed (ActionEvent) ボタンクリック時のイベントハンドラ
メールの送受信処理をスレッドで起動
3 なし sendMail なし メールの送受信処理(SMTPプロトコル)
4 なし send 送信データ(String) 送信データを通信欄に設定しホストに送信
5 なし receive なし ホストからのメッセージを受信し通信欄に設定
6 なし (static) main パラメータ(String[]) 自分自身をフレーム(Frame)に設定し画面表示


2.SMTPプロトコルの説明

 SMTP(Simple Mail Transfer Protocol)は、メールサーバ間でのメッセージの送信に利用されるプロトコルです。 反対にPOP3(Post Office Protocol)がメッセージの受信用のプロトコルです。
 サーバは25番のポートで接続を待ち、クライアントは25番のポートにコマンドを送ります。

 SMTPの基本コマンドには次のようなものがあります。

No. コマンド 内容
1 HELO クライアント側のホスト名 (hello) 通信開始。クライアント側のホスト名の通知
2 MAIL FROM: 送信者名 (mail) メールの送信者名の通知
3 RCPT TO: 受信者アドレス (receipt) メールの受信者アドレス(宛て先)の通知
複数の相手の場合は複数回実行
4 DATA (data) メール本文の送信開始
本文は本コマンド後に1行毎に送信し、最終データはピリオドのみを送信する。
(1行は1000文字以下)
5 RSET (reset) 送信手順の初期化(MAIL,RCPT,DATAの破棄)
6 NOOP (no operation) サーバの確認(タイムアウトを防ぐ)
7 VRFY ユーザ名 (verify) 指定したユーザ名がサーバに存在するかを確認
8 EXPN ユーザ名 (expansion) 指定したユーザ名の実際に配信されるメールアドレスを確認
9 QUIT (quit) メール交換の終了

 SMTPの主な応答コードには次のようなものがあります。

応答コード 内容
211 システムの状態の表示
214 ヘルプメッセージ
220 サーバの準備完了
221 SMTPコネクションの終了
250 要求された処理が完了
354 メール本文の入力開始
550 メールボックスが用意されていないため、処理が中断された


 
 INDEX
  課題 Java SMTP利用のメール送信
1.プログラムの仕様
  2.プログラムの説明(1)
  3.プログラムの説明(2)
Top
Copyright© 2003-2007 FumikiChan All Rights Reserved.
http://www.fumikichan.net/