2014年12月21日日曜日

[Windows]netcat で メール送信

netcat でメールの送信を行います。

メールサーバの準備
サーバは BlackJumboDog で立ち上げます。
※作り方は [BlackJumboDog]メールサーバを作ってみました を参照

サーバの IP アドレスは 192.168.2.10、SMTP ポートは 25、POP ポートは 110です。


メール送信
それではメール送信を行います。

サーバ(192.168.2.10)の 25 番ポートへアクセスします。

コマンドC:\Toolkit\nc111nt> nc.exe 192.168.2.10 25
220 localhost SMTP BlackJumboDog 5.9.1.0; 2014/12/21 12:37:43

HELO localhost
250 localhost Helo 192.168.2.102[192.168.2.102:50259], Pleased to meet you.

MAIL FROM: pc01@test.local
250 pc01@test.local... Sender ok

RCPT TO: user01@test.local
250 user01@test.local... Recipient ok

DATA
354 Enter mail,end with "." on a line by ltself
From: test@test.local
To: user01@test.local
Subject: test
Test Message.
.

と、入力してみました。

HELO ・・・ サーバにメール転送することを伝える。
MAIL FROM ・・・ 送信元情報を伝える。
RCPT TO ・・・ 宛先情報を伝える。
DATA ・・・ 本文を入力。

この DATA は "." の行で終了を意味するのですが、今回はこの "." の行を認識することが出来なくて、いつまでも DATA 入力状態のままとなっていました。
やり方を間違ってるかもしれないし、Windows 版 netcat の制限かもしれないです。

時間のある時に telnet コマンドをセットアップして試してみます。それで netcat の制限か、BlackJumboDog の設定か何かの問題かは分かるかと思います。


通常なら(Linux であれば)このようにコマンドを送ることでメールを送ることが出来ます。
メール送信のコマンド
$ netcat localhost 25 << EOF
HELO host.example.com
MAIL FROM:<user01@host.example.com>
RCPT TO:<user02@host.example.com>
DATA
Body of email.
.
QUIT
EOF

Windows Tools のページに戻る

0 件のコメント:

コメントを投稿