メール通知テストに便利な“ダミー”のSMTPサーバー「smtp4dev」ITプロ必携の超便利システム管理ツール集(12)

システム管理系ツールには、重大なイベントや定期報告にメール通知を利用するものがあります。メール通知機能をちょっとだけ試したくても、近くに利用可能なメールサーバーがないと困りますよね。そんなときでも「smtp4dev」があればバッチリです。

» 2014年10月23日 11時30分 公開
[山市良テクニカルライター]
「ITプロ必携の超便利システム管理ツール集」のインデックス

連載目次

今回紹介するツール

[ツール名]smtp4dev

[対象]Windows

[提供元]Robert N Wood、Microsoft Shared Source Community License(MS-CL)

[ダウンロード先][URL]http://smtp4dev.codeplex.com/[英語](CodePlex)


“ダミーのSMTPサーバー”って何者? 何のため?

 インターネットメールのプロトコルであるSMTP(Simple Mail Transfer Protocol)は、古くからシステム管理ツールのメッセージ通知にも利用されてきました。例えば、サーバーのダウン、ディスク領域不足、電源異常などなど、さまざまなトラブルやその予兆をIT担当者に電子メールで自動的に通知するといった使い方です。

 SMTPによる通知機能が正常に動作するには、メッセージ転送が可能なSMTPメールサーバーが必要になります。しかし、電子メールのセキュリティ強化やメールシステムそのもののクラウド化により、無条件でメッセージ転送を許可してくれるSMTPメールサーバーはなくなりました(もしあるとすれば不適切です)。SMTPによる通知機能を利用するには、社内にSMTPメールサーバーを設置して、通知元からのメッセージを転送するようにメールサーバーのセキュリティを調整する必要があります。

 最終的に社内のSMTPメールサーバーを準備するとしても、評価段階から準備するのは大変です。筆者は以前、SMTPによる通知機能をテストする必要があるたびに、フリーの簡易的なSMTP/POPサーバーをインストールして使用していました。“簡易的”とはいっても、環境を準備するには時間とリソースが必要です。「smtp4dev」は、筆者が苦労していたSMTP環境の準備の課題を完全に解決してくれました。

 smtp4devは、名前から連想できるように、電子メールメッセージを生成するソフトウェアのテストやデバッグ用に開発されたダミーのSMTPメールサーバーです。ダミーとは、受信専用であり、受信したメッセージのローカルユーザーへの振り分けや別のSMTPサーバーへの転送などの配送機能は持ちません。でたらめな発信元/送信元メールアドレスのメッセージでも受信できます。

 smtp4devは、Windows XP以降、Windows Server 2003以降で動作します。Windows 8以降およびWindows Server 2012以降は対応OSのリストには入っていませんが、「.NET Framework 3.5(.NET 2.0および3.0を含む)」の機能を有効化することで動作しました(画面1)。

画面1 画面1 System Center Operations Managerの電子メール通知を、ローカルサーバーのsmtp4devで受信している例

※「.NET Framework 3.5(.NET 2.0および3.0を含む)」のインストールに失敗する場合は、2014年8月または9月の更新プログラムが影響している可能性があります。10月上旬に定例外で配布された修正プログラムで解決されています。こちら(筆者の個人ブログ)を参考にしてください。


本体はたったの544KB! インストールも不要なお手軽さ

 smtp4devは、わずか544KBの単体の実行可能ファイル(smtp4dev.exe)です。実行すると、TCPポート25で待ち受け(Listen)状態になり、終了(Exit)するまでローカルおよびリモートからのSMTP接続を受け付けます(「Windowsファイアウォール」の許可が必要な場合もあります)。最小化するとタスクトレイに格納され、新着メッセージをポップアップしてくれます(画面2)。

画面2 画面2 smtp4dev.exeを実行すると、TCPポート25が待ち受け状態になり、ローカルおよびリモートからのSMTP接続を受信するとポップアップしてくれる。メールの送信はPowerShellの「Send-MailMessage」コマンドレットでテストしてみた

 受信したメッセージは、既定で最近の10件だけメモリ上に保持され、古いメッセージは破棄されます。メモリ上に保持されたメッセージは、拡張子.emlに対応するメールソフトでメッセージの中身を表示したり、拡張子.emlでメッセージをファイルに保存したりすることができます(画面3)。

画面3 画面3 メッセージの内容は、ローカルにインストールされた拡張子.emlに対応したメールソフト(Outlookなど)で表示できる

 保持するメッセージの件数は、オプション(Options)設定で調整できます。また、smtp4devはサービスとしては動作しませんが、ログオン時に自動開始するように構成することも可能です(画面4)。

画面4 画面4 ログオン時に自動で開始させる場合は、「smtp4dev.exe」をログオンユーザーがアクセス可能なパスに配置して、「Start automatically after login」を有効にすればよい

SMTP AUTH認証やSSL暗号化接続にも対応

 SMTPメールサーバーとしての動作は、オプションの「Server」タブでカスタマイズすることができます。ポート番号を変更できる他、このSMTPメールサーバーを、SMTP AUTH認証やSSL暗号化接続をサポートするSMTPサーバーのように振る舞うことができ、認証(でたらめな資格情報でもOK)やSSLを要求することも可能です(画面5)。SMTP接続のプロトコルログも参照できるようになっているので、アプリケーション開発者がメール対応機能をテストするためにsmtp4devを利用することもできます(画面6)。

画面5 画面5 SMTPメールサーバーの振る舞いのカスタマイズ。SMTP AUTH認証やSSL暗号化にも対応する
画面6 画面6 SMTPのプロトコルログ(SMTPヘッダー情報)を参照することもできる
「ITプロ必携の超便利システム管理ツール集」バックナンバー

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2014)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。