ダミーSMTPサーバ(smtp4dev)


はじめに

開発でメール送信のテストをするのに会社のメールサーバを使うのも良くないですし、間違ってお客さんのメールに送ってしまうという事故を防ぐためにダミーSMTPサーバがないかと思い調べたらsmtp4devというダミーSMTPサーバーがあったので使い方を説明する。
.NET Coreで作られているので、Windows、Linux、Mac OS-X(および.NET Coreを利用)で動作します。

概要

今回はWindows10にインストールしてから動作テストまでを説明します。
古いバージョンでは、Windows GUIベース(ここ)のがありますが、今回は、exe実行して、ダミーSMTPサービスを立ち上げて、ブラウザでメールの受信状況を確認できます。
https://github.com/rnwood/smtp4dev

インストール

  1. GitHubからプログラムをダウンロード
    • リンクはGithubのreleasesからダウンロード(ここ)
  • 今回はwindows10なのでx64ベースをダウンロード
  1. 1.でダウンロードしたファイルを回答
  2. Rnwood.Smtp4dev.exeを実行
  3. ブラウザでサーバが立ち上がっているか確認

動作テスト

Powrshellの権限変更

PowerShellを実行したことがないPCであれば実行ポリシーによりメールの実行テストをすることができないので、下記のサイトで変更をする
PowerShell のスクリプトが実行できない場合の対処方法

動作テスト

1.Smtp4dev.exeを実行
ダウンロードしたファイルを解凍して、中にあるRnwood.Smtp4dev.exe を実行する。

2.PowerShell ISEを起動

3.下記のメール送信用のスクリプトをPowerShell ISEに貼り付け、実行ボタンを押す

param($count=1)

1..$count | %{ 
    write-host $_
    Send-MailMessage -To foo@bar.com -From from@from.com -Subject "Message $_" -SmtpServer localhost
}

4.Browserに下記のURLを貼り付けてメールが届いている確認できる
http://localhost:5000/

開発での使い方

また後で書きます

その他のダミーSMTPサーバ

SendGrid記事 メールのテストをする方法