Pocket

こんにちは。nemotoです。

エンジニアの皆さん。

突然ですが、最近は様々な企業でセキュリティに対する意識が高く、安易にメールを送信することが出来ない場合が珍しくないと思います。

こんな場合、ダミーSMTPサーバを構築するなどの対応方法が考えられますが、開発環境がWindowsだし、もっと簡単に構築が出来、かつ容易に送信内容を確認したいなー。

なんてことは御座いませんか?

そこでご紹介するのが「smtp4dev」。

導入する手順は簡単。

smtp4dvのサイト(http://smtp4dev.codeplex.com/)から、[Downloads]→[smtp4dev 2.0.9 standalone]

次にダウンロードした[smtp4dev-2.0.9-binaries.zip]を解凍し、解凍した[smtp4dev.exe]を実行するだけです。

最初の起動時に、セキュリティの重要な警告が表示されますが、[アクセスを許可する]を選択。

1

これだけで準備は完了。ダミーSMTPサーバは起動しています。

2

(画面左下に[Listening on port 25]と表示されています)

では早速、メール送信をしてみます。

(今回smtp4devが立ち上がっているWindows PCのIPアドレスは192.168.11.4です。)

$ telnet 192.168.11.4 25

Trying 192.168.11.4…

Connected to 192.168.11.4.

Escape character is ‘^]’.

220 localhost smtp4dev ready

次にehloコマンド

ehlo hogehoge.com

250-Nice to meet you.

250-8BITMIME

250-STARTTLS

250-AUTH=CRAM-MD5 PLAIN LOGIN ANONYMOUS

250-AUTH CRAM-MD5 PLAIN LOGIN ANONYMOUS

250 SIZE

続いてmailコマンドとrcptコマンド

mail from: <nemotx@opnetone.co.jp>

250 Okey dokey

rcpt to: <piyopiyo@opentone.co.jp>

250 Recipient accepted

最後に送信するデータを入力(dataコマンド)

data

354 End message with period

Subject: Hello SMTP World.

From: <nemotx@opentone.co.jp>

To: <piyopiyo@opentone.co.jp>


Let’s smtp command.

.

250 Mail accepted

これで送信完了です。

smtp4devを見てみましょう。

まずは[Messages]タグ。

3

送信したメールが届いていることが確認できます。

では[View]ボタンをクリックします。

5

普通にメーラが立ち上がってどのような内容かが確認できます。

次に、[Inspect]ボタンをクリックします。

この場合、[Mime Parts]や[Message Source]など詳細な情報を確認することができます。

6

ちなみにマルチパートの原稿を送信した場合にはどう表示されるかというと・・・。

以下の原稿を送信してみます。

Subject: Hello SMTP World.

From: <nemotx@opentone.co.jp>

To: <piyopiyo@opentone.co.jp>

Content-type: multipart/alternative; boundary=”boundary_xxxxxxxxxx”

Content-Transfer-Encoding: 7bit


–boundary_xxxxxxxxxx

Content-type: text/plain;

Content-Transfer-Encoding: 7bit


Hello Plain Content.


–boundary_xxxxxxxxxx

Content-type: text/html;

Content-Transfer-Encoding: 7bit


Hello Html Content.


–boundary_xxxxxxxxxx–

これを[Inspect]で確認します。

7

8

9

という感じでMultipartを分割した形式で確認することが可能です。

最後に[Sessions]タグを確認します。

10

表示されているのは、先ほど送信したMultipart形式メールの送信時間です。

ここで[View Log]をクリックします。

11

というようにテキストエディタで、送信した際のCommandを確認することが可能です。

また、今回はご紹介していませんが、

[Options]によって、ehloコマンドの拡張サービスを制御することも可能です。

開発でメールの送信が必要な場合、是非使ってみては如何でしょうか?

またね。