hMailServerでローカルのメールテスト環境を準備する

どうも、Tです。

開発とか構築中ってメール通知テストで簡易的なメールサーバーが欲しいときありますよね。

今ままで、BlackJumboDogを使ってきていたのですが、ここ5年ほど更新がないこと、作成者ご本人も転職などしてブログも更新とまっております。

SAPPOROWORKS | Welcome to SapporoWorks! We create stimulating network programs. By a demand from user, SapporoWorks evolves.
SIN@SAPPOROWORKSの覚書
C#を中心に、夜な夜な試行錯誤したコードの記録です。

ということで、簡易メールサーバーにhMailServerに乗り換えてみました。

やりたいこと

hMailServerをインストールして、ローカル環境でメールの送受信が行えるようにする。

環境

hMailServerインストール先:Windows Server 2019

hMailServerとは

hMailServerはWindows上にインストールできる、フリーソフトのメールサーバーです。

ライセンスはAGPLv3になっています。2021年現在でも積極的に開発が進んでいる模様です。

hMailServer - Free open source email server for Microsoft Windows
hMailServer - Free open source email server for Microsoft Windows

なぜか要件のWindowsエディションが割と古いです・・テストされてる環境だけ記載されているのでしょうがないのか?な・・・。今回はWindows Server2019にインストールします。

System requirements - hMailServer - Free open source email server for Microsoft Windows
hMailServer - Free open source email server for Microsoft Windows

事前準備

.Netのインストール

.Netをインストールしておきます。

hMailServerのインストール途中に.Netインストールは自動インストールされるようですが、なぜか失敗してしまったので事前にインストールしました。

メールクライアントのダウンロード

hMailServerインストール・設定後のメール送受信の確認にメールクライアントが必要なので事前にインストールしておいてください。

今回は、Thunderbirdを使いました。

hMailServerインストール

下記のサイトからインストーラーをダウンロードします。Latest versionの5.6.7を使いました。

Download - hMailServer - Free open source email server for Microsoft Windows
hMailServer - Free open source email server for Microsoft Windows

ダウンロードしたインストーラーをダブルクリックします。

「Next」をクリックします。

「I accept the agreement」を選択して「Next」をクリックします。

インストール場所の指定です。そのまま「Next」をクリックします。

インストールオプションです。デフォルトのまま「Next」をクリックします。

hMailServerはデータベースを使用するので、どのデータベースを使うかの指定です。デフォルトのままだとMicrosoft SQLCompactを自動的にインストールしてくれます。external databaseを選ぶと別途データベースインストール・設定が必要になります。

デフォルト(built-in database)のまま「Next」をクリックします。

「Next」をクリックします。

パスワードを入力して、「Next」をクリックします。

「Install」をクリックします。

インストールが完了しました。「Finish」をクリックします。

「Connect」をクリックします。

Cancelで閉じてしまった場合は、スタートメニューの「hMailServer Administrator」から起動できます。

パスワードを入力して、「OK」をクリックします。

管理画面が起動しました。

ちなみに各サービスが利用しているポート番号は、「Settings」->「Advanced」->「TCP/IP ports」から確認できます。

hMailServer設定

ドメイン設定

メールのドメイン(@より後ろ)を設定していきます。「Add domain」をクリックします。

任意のドメイン名を入力して「Save」をクリックします。

ドメインが作成されました。

アカウント作成

アカウント(メールアドレス)を作成します。「Domains」->「作成したドメイン」->「Accounts」をクリックします。

「Address」「Password」を入力して「OK」をクリックします。

Maximum Size(MB)について

Maximum Sizeはメールボックスの容量になるようです。デフォルト0です。ドキュメントにも記載がありませんが、検証したところ2GB付近まで使えたので0の場合は容量無制限で使用できるようです。

Account - hMailServer - Free open source email server for Microsoft Windows
hMailServer - Free open source email server for Microsoft Windows

メールアドレスが作成されました。

SMTP認証の無効化(IP Ranges設定)

hMailServerは、デフォルトで自分自身から自分自身へのメール送信に関してはSMTP認証が不要ですが、それ以外はSMTP認証が必須になっています。

IP range - hMailServer - Free open source email server for Microsoft Windows
hMailServer - Free open source email server for Microsoft Windows

Require SMTP authentication
Using these settings you can select who is required to use SMTP authentication when sending through the server. SMTP authentication should normally be used by all people sending email from accounts on your server.

Also, External to external should normally always be selected. If you do not require authentication when external users sends messages through your server, your server will be abused by spammers.

検証目的の場合でも、hMailServerからのメール送信に認証が必要になってしまうので無効化しておきます。

「Settings」->「Advanced」->「IP Ragnes」画面の「Add」をクリックします。

下記の項目を設定して「Save」をクリックします。

  • Name:任意の名前
  • Priority:11以上(Internetルールの10より大きくする)
  • Lower IP:設定を反映する開始IPアドレス
  • Upper IP:設定を反映する終了IPアドレス
  • Require SSL/TSL for authenticationのチェック外す
  • Local to local e-mail addressesのチェック外す
  • Local to external e-mail addressesのチェック外す※ローカル環境のみの場合これはデフォルトでもよい

これで検証環境のIPアドレス範囲は、SMTP認証不要でメール送信を行うことができます。

メールクライアント設定

メールクライアント(今回は、Thunderbird)の設定を行います。

名前、メールアドレス、パスワードを入力します。「手動設定」をクリックします。

hMailServerをインストールしたホスト名などや送受信設定を行い、「完了」をクリックします。

警告画面がでるので、「接続する上での危険性を理解しました」にチェックをし「確認」をクリックします。

メールクライアントのアカウントが設定されました。

確認

hMailServerホスト以外の検証OSからアラートメールを通知してみました。正常にメールを受信できています。

また、外部からの送信のメールアドレスは、別ドメインでも問題なく受信が行えました。

参考

hMailServerのインストールと設定 | Webエンジニアブログ
hMailServerをローカルにインストールローカル環境にメールサーバを構築するWindowsのローカル環境でメールサーバを設定します。Windows向けのメールサーバとしてhMailServerというフリーウェアがありますので、それをダウンロードします。インストール以下の

まとめ

SMTP認証のところはちょっとはまったけど、とりあえず検証程度には使えるようになりました。ドキュメントの説明不足感はありますが、結構なボリュームを用意してくれてるのでわからいことを調べるのには助かります。

これかメール関連の検証は、hMailServer使っていこう。