telnetを使ってメールのテストを行う方法
- April 9th, 2008
- Posted in 開発ツール・技術
- Write comment

R*PADのテストでちょっと困ったのがメール受信テスト。テストサーバーで開発しているときはどのメアドに送ったらよいかわかりませんよね。その場合は直接telnetして対話しながらテストすればOKです。
以下、いつも忘れてしまうので手順をメモ的にエントリー。
- コマンドプロンプトを起動
- サーバにtelnet接続
- ご挨拶
- 送信者の指定
- 受信者の指定
- データ送るよー宣言
- ヘッダー&本文
- 終了
Windowsの「コマンドラインから実行」で「cmd」あたりでよいのでは。
普通にtelnetします。25番ポートで接続してみます。
telnet [サーバーのIPアドレス/ドメイン] 25
なんか出るので次へ。
一応ご挨拶。EHLOで返事が返ってくるかみます。
EHLO [サーバーのIPアドレス/ドメイン]
次に送信者を指定します。
MAIL FROM:<hoge@hoge.com>
うまくいけばOKとか出ます。
次、受信者。
RCPT TO: <age@age.com>
※ 上記、間違えていたので修正。ご指摘いただいた方、感謝です!
DATAと打っときます。
DATA
次にヘッダー、続けて本文を打ちます。本文終了は「.」で。
subject: Test from: hoge@hoge.com to: age@age.com this is test. .
これもうまくいけばOKとか出ます。
何の問題もなければQUITで終了します。別メールを送る場合は最初からどうぞ。
なお、いくつかのTipsもまとめておきましょう。
- 修正しようとしてバックスペースを打つとうまくいかないので間違えないように。別テキストでコマンドを用意しておいて一行ずつペーストしていくのがよいでしょう。
- コマンドプロンプトだとCTRL+Vが使えませんが、右クリックで貼り付けメニューがでるのでそれで。
- 日本語を送信しようとするとはまるので最初は英語で。
- ちゃんと送信されたかどうかはサーバー側で「tail -f /var/log/maillog」とかでチェックするとよいでしょう
ちなみに本文を日本語でテストしようと思ったらどうしたらいいんすかね・・・?やってみたのですが届いたメールが文字化けしちゃって・・・。誰か知っていたら教えてください。
あと文字を打ち間違えたときにバックスペース以外で戻る方法ってあるんでしたっけ?なんかあったような・・・。
■ 参考にしたサイト


はじめまして。 いつも面白く読まさせて貰っています。
バックスペースですが、ctrl+h なんかどうでしょうか?
viとかエディタ業界では、統一されいると思いますが・・・
一度、試してみてください。
EHLO が微妙、受信者は RCPT TO、ヘッダーと本文の間に空行がない、日本語を正しく送信したければ、自分の環境に合わせた MIME ヘッダー入れる。
バックスペースで戻れない時にC-uで行頭から消すのはいかがでしょうか。私の環境ではバックスペースが使えてしまうのでC-uの世話にはあまりならないのですが。
本文を日本語にしてテストする方法をこちらに書いてみました。もしも参考になるところがあれば・・・と思います。
http://ebi.dyndns.biz/diary/20080410.html#p01
※TrackBackが失敗してしまうようなので(相性?)コメントに書かせていただきました。