telnetで手入力でSMTPをしゃべってみる
telnetでおしゃべりシリーズ – SMTP編
telnetのコマンドモード開始。
Microsoft Windows [Version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. All rights reserved. C:\>telnet
telnetスタート。ご使用のメールサーバーに25番ポートで接続を試みます。
(プロバイダなどネットワークの環境によっては25番ではなく587番の場合もある)
Microsoft Telnet クライアントへようこそ エスケープ文字は 'CTRL+]' です Microsoft Telnet> o mail.example.com 25
つながりました。
220 mail.example.jp ESMTP
ここから先は、SMTPサーバーによってまちまちでしょう。
よそのプロバイダのメールサーバーなどは外部からつないでメールを送らせてもらえないのが普通です。
普通の設定のサーバーなら、sshでログインして、ローカルから送ることならできるなど、制限があるのが普通でしょう。
220 mail.example.jp ESMTP ← 接続してすぐ HELO mail.example.jp ← 入力 250 mail.example.jp ← 返答 MAIL FROM:xxxxxx@xxxxx.xxx ← 入力 250 ok ← 返答 RCPT TO:xxxxxx@xxxx.xxx ← 入力 250 ok ← 返答 DATA ← 入力 354 go ahead ← さあ入力してねの返答。以下ヘッダと本文を手書きする。 Subject: telnet de mail wo okuru. From: xxxxxx@xxxxxx.xxx To: xxxxxx@xxxxxx.xxx 本文本文本文本文本文 本文本文本文本文本文 本文本文本文本文本文 本文本文本文本文本文 . ← 改行+ピリオド+改行が終わりのしるし 250 ok 1257435210 qp 21454 ← 送信完了の返答
これだけでメールを送れるので、sendmailコマンドではなく、phpでSMTPをしゃべってメールを送ることは、そんなに難しいことではありません。
コメント