linux

ダミーSMTPサーバ(smtp4dev)をLinuxで使用する

中規模以上のシステム開発でもはや使わないことがないメール送信機能。

本番環境では顧客が契約しているSMTPサーバを使うことが多いのですが、開発時はもっぱらダミーのSMTPサーバを使用します。

そこで毎度毎プロジェクトでお世話になっているが「ダミーSMTPサーバ(smtp4dev)」です。

今まではローカルPCのWindowsや、Windows Server上で動かしていたのですが、Linux(Ubuntu)に配置することになったのでメモ。


入手方法

まず、GitHubの smtp4dev ページから必要なプログラム一式をダウンロードします。

今回はUbuntu上で動かすために赤枠内のものを選択。
smtp4devダウンロード


Linuxへ配置

Windows版でもLinux版でもインストールは不要です。

ダウンロードファイルはZIP形式なので解凍し、フォルダ名が長いので変更します。
Rnwood.Smtp4dev-linux-x64-3.2.0-ci20221023104

Rnwood.Smtp4dev

次にSCP等でLinuxへ配置します。
今回はUbuntu上の /home/{ユーザ名}/ 下にしました。

こんなパスになります↓
/home/{ユーザ名}/Rnwood.Smtp4dev


smtp4devの起動

次にsmtp4devを起動します。


sudo /home/{ユーザ名}/Rnwood.Smtp4dev/Rnwood.Smtp4dev --urls=http://*:5000

urlsパラメータは、外部からブラウザで確認する際に必要なオプションとなります。

正常に起動できると外部のブラウザから下記のように確認できます。
http://{サーバIP}:5000
smtp4devWEB画面


外部から繋がらない場合

ブラウザで「ERR_CONNECTION_TIMED_OUT」が出て表示できない場合、Linux側のファイアウォールで弾かれている可能性があります。
※「ERR_CONNECTION_REFUSED」は起動時のurlsパラメータ付け忘れ。

Ubuntuの場合はufwコマンドで操作します。
まず、ファイアウォールの状態を確認してみます。


sudo ufw status

無効の場合「状態: 非アクティブ」と表示され、
有効の場合「状態: アクティブ」と表示され、設定があれば下に表示されます。

有効であった場合、試しにファイアウォールを一旦無効にしてみます。


sudo ufw disable

設定反映コマンドは不要。
これで再度外部のブラウザでアクセスしてみて繋がるようであればファイアウォールでしたね。

元が有効だった場合は有効に戻し、必要なポート(5000)だけ許可しましょう。


sudo ufw enable
sudo ufw allow proto tcp to 0.0.0.0/0 port 5000

繋がりましたかね?それでもダメな場合はiptablesで拒否設定されていないか確認してみてください。


sudo iptables -L INPUT

おわり。


 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です