VB(Visual Basic 5.0)で作成した、TCPによる通信サンプルプログラムを紹介します。
SMTPサーバに接続しEメールを送信します。
SMTPプロトコルはTCPでポート番号「25」に接続後、下記コード出力すると
応答コードが返されます。HELOコマンド
SMTPサーバと接続確認。
USER SMTPサーバ名MAILコマンド
発信者名を送る。
MAIL FROM:<発信者メールアドレス>RCPTコマンド
送り先メールアドレスを送る。
RCPT TO:<送り先メールアドレス>DATAコマンド
メール本文を送る場合、まずDATAを送りサーバからの「354」を確認後
本文を送ります。本文の最後は CR LF . CR LF の5文字を送ります。QUITコマンド
セッションを終了します。
QUIT
応答コード 定 義 211 214
220
221
250
251
354
421
450
451452
500
501
502
503
504
550
551
552553
554
システムの状況あるいはシステムヘルプの応答 ヘルプメッセージ
メールシステムの準備ができている
メールシステムは接続を閉じている
エラーを起こさずにコマンドの実行を完了した(OK)
該当するローカルユーザーが見つからない。<forward-mail-path>に転送する
メールメッセージの本文を開始する;終了は<CR><LF>.<CR><LF>
メールシステムが利用できない
現在、目的のメールボックスに対して要求されたコマンドを利用することはでき
ない。メールボックスがビジーであるローカルの処理エラーによって、要求されたコマンドが中断された
ローカルシステム上の記憶容量不足で、要求されたコマンドの処理が完了しなかった
文法エラー。コマンドが認識できない
文法エラー。パラメータが誤っている、あるいは見つからない
実装されていないコマンドである
コマンドの実行手順が不適切である
コマンドのパラメータが実装されていない
要求されたコマンドが利用できない。メールボックスにアクセスできない
該当するローカルユーザーが見つからない。メールを<forward-mail-path>に
転送しなさい要求されたコマンドが中断された。割り当てられた容量を超過した
メールボックスの書式が不正なために、要求されたコマンドが中断された
トランザクションに失敗した
POP3がメール受信、SMTPがメール送信のプロトコルです。両方サンプルを作りました。
参考にして下さい。