前回の投稿では telnet による pop3 サーバへのアクセスを書きました。これでメーラがない環境でもメールを読み出すことは可能になりました。
今度は、telnet でメールを送信する方法です。
やりかたは、コマンドラインから
> telnet smtp.example.jp 25
として、直接25番ポートを叩きます。
Trying xxx.xxx.xxx.xxx...
Connected to smtp.example.jp
Escape character is '^]'.
220 smtp.example.jp ESMTP Postfix
と返答がかえってきたら
HELO smtp.example.jp ←入力
250 Ok ←返答
して、あとは
MAIL FROM: user@example.jp ←入力
250 Ok ←返答
RCPT TO: hoge@example.jp ←入力
250 Ok ←返答
DATA ←入力
354 End data with .
To: user@example.jp ←入力
From: user@example.jp ←入力
hello! ←入力
. ←入力
250 Ok ←返 queued as xxxxxxxx ←返答
で送信完了。
quit ←入力
221 Bye ←返答
で、おしまいです。
最近のメールサーバではリレー許可がされていない場合が多いと思いますので
RCPT TO: user@example.com
554 : Relay access denied
と、なる場合があるかもしれません。
まあ、telnet でメール送信というと、普通はサーバのテストとか以外には使わないとおもいますので、逆にきちんとリレー拒否ができているかの確認は重要だと思います。
踏み台にされるといろいろ問題ですから。
また、最近のネットワークの設定では25番を閉じている場合が多いので、そういうときは587番を指定して telnet してみてください。