コンテンツへスキップ

テスト用のローカルなメールサーバーが欲しい

CentOS7 で「postfix」と「dovecot」を使用したテスト用のメール環境を構築した時の作業ログです。
構築順序に沿って、参考リンクや実際の手順や設定をまとめました。

テスト用のローカルなメールサーバーが欲しい

テスト用にメールサーバの環境が欲しいなーって事で調査するも、どんなキーワードで検索しても、すぐに「postfix」と「dovecot」に行き着く。

Windowsじゃないのね。Linuxか。

という事で、腹くくってCentOSで構築してみようかと思います。丁寧なドキュメントも多いしなんとかなるのでは。

メールサーバー構築の準備

・サーバー(Vritual Machine)

メールサーバーを構築する端末を用意します。
規模にもよると思いますが、私はテストなんで仮想マシンで十分だと思います。

2コア、メモリ4G、ストレージは20G で構築してます。
私はVirtual Box 派。

図1: VirtualBoxの仮想マシン設定画面。OSタイプはLinux、バージョンはOther Linux (64-bit) を選択している。
図1: VirtualBoxの仮想マシン設定画面。OSタイプはLinux、バージョンはOther Linux (64-bit) を選択している。
図2: VirtualBoxのシステム設定画面。メインメモリーを4096MBに設定している。
図2: VirtualBoxのシステム設定画面。メインメモリーを4096MBに設定している。
図3: VirtualBoxのプロセッサー設定画面。CPU数を2、使用率上限を100%にしている。
図3: VirtualBoxのプロセッサー設定画面。CPU数を2、使用率上限を100%にしている。

ネットワークは「ホストオンリー」を使用しました。
VM を構築しているホスト内だけで参照できる閉じたネットワークのです。

図4: VirtualBoxのネットワーク設定画面。アダプター1はホストオンリーアダプターに設定している。
図4: VirtualBoxのネットワーク設定画面。アダプター1はホストオンリーアダプターに設定している。

VM を構築している端末以外からでも参照できるようにするには、リアルな物理ネットワークに直接接続するタイプを使用する必要があると思います。
VBox だと「ブリッジアダプター」です。

図5: VirtualBoxのネットワーク設定画面。アダプター2はブリッジアダプターに設定している。
図5: VirtualBoxのネットワーク設定画面。アダプター2はブリッジアダプターに設定している。

CentOS7 のインストール

公式サイトからインストール用のISO イメージをダウンロードして、インストールします。

CentOSインストールの参考サイト

ダウンロードサイトの案内から、一通りのインストール手順も書いてあって、
とても参考になりました。

【初心者でもわかる】Linux CentOSのインストール方法まとめ

余談

インストール自体は問題なく(と思う。)進み・・・ました。

必要最小限の機能で構築したところ、「VBox Guest Additions」を入れるのに一苦労。
「Development Tools」とか開発系のモジュール?が足りないようで、yum install もオフライン環境だとエラーになってしまう様子。
※多分、インストールメディアを指定してyum install すれば良かったんでしょうけど、当時の私にはそんな知識はなく。。。orz

結局、3回目くらいO Sインストールをやり直して、インストールする機能をあれこれ詰め込んでみたところ、VBox Guest Additionがインストールできた(ほぼフル機能でインストール)。

とりあえず、画面の解像度はウィンドウのサイズ変更に追従してくれるようになりました。
マウスカーソルもVMとホストをシームレスに行き来できてます。
ドラック&ドロップでのファイル共有もOKです
※たまに固まるので、最近は共有フォルダからしかやり取りしていません^^。

メールサーバー目的でインストールするなら、このOS インストールの段階でメールサーバー機能にもチェックを入れて、「postfix」と「dovecot」を一緒にインストールした方が楽だと思います。

壁紙

「萌」要素は必須です。

  • 仕事効率がアップします。
  • モチベーションが上がります。
  • とにかく何でも上がります。

今回はこれに決めました。

図6: CentOSのデスクトップ画面。お気に入りのイラストを壁紙にしていて、端末やホームフォルダのアイコンが並んでいる。
図6: CentOSのデスクトップ画面。お気に入りのイラストを壁紙にしていて、端末やホームフォルダのアイコンが並んでいる。

この壁紙の入手先は、、、忘れてしまいました。というか、分からなくなってしまったんですよね。
画力、構図、モチーフ、色彩、世界観、すべてがハイレベルな一枚です。

最近はここでマイニングしています。

メールサーバーの設定

CentOS に「postfix」と「dovecot」をインストールします。
「postfix」はメールを送信する役割と、メールを受信して各ユーザーのフォルダにメールを保存する役割を持ったサーバー機能です。
「dovecot」はユーザーにメール展開するためのサーバー機能です。

図7: PostfixとDovecotの役割を表した図。Postfixがメールを受け取ってユーザーフォルダに振り分け、Dovecotがユーザーにメールを配送する流れを示している。
図7: PostfixとDovecotの役割を表した図。Postfixがメールを受け取ってユーザーフォルダに振り分け、Dovecotがユーザーにメールを配送する流れを示している。

Postfix の設定

https://zapping.beccou.com/2019/08/26/postfix-settings/

Dovecot の設定

https://zapping.beccou.com/2019/08/26/dovecot-config/

メールサーバー設定時の参考サイト

■ CentOS7 Postfixのインストールと設定

基本的な流れ、設定値はこのサイトを参考にして設定してます。
dovecotの設定についても書かれているので、正直このサイトの情報だけでローカルネットワーク用のメールサーバーが構築出来ます。

■ Postfix + dovecot バーチャルメールボックスの設定を深堀する

Postfix、dovecot の設定について、いろいろと参考になります。

どうせなのでDNSサーバーも導入。

動作の確認

実際にメール設定をして確認。

メールアカウントは、「ログインユーザー名@メールサーバー名」になります。

例えば「testmail.com」という名前のサーバーに「user」 というユーザーアカウントがあれば、
「user@testmail.com」がメールアドレスになります。
メールサーバーにアカウントを追加すればそのままメールアカウントになるという仕組み。

ネットワーク内にある他のVM にThunderbird をインスト―ルしてメール設定をしてみます。

いくつかエラーがあったのですが、メールサーバーで/var/log/maillog のログファイル を見てデバックできました。
監視する場合は、tail -f /var/log/maillog で。

図8: maillogをテキストエディタで開いた画面。postfixやdovecotのログが大量に出力されている。
図8: maillogをテキストエディタで開いた画面。postfixやdovecotのログが大量に出力されている。

WindowsServer2016 にThunderbird をインストールします。
インスト―ル完了。

図9: Thunderbirdのインストールが完了した画面。
図9: Thunderbirdのインストールが完了した画面。

アカウントを設定。
メールサーバーでのユーザー名が、そのままメールアドレスとパスワードになります。

図10: Thunderbirdでメールアカウントを設定している画面。名前とメールアドレスを入力している。
図10: Thunderbirdでメールアカウントを設定している画面。名前とメールアドレスを入力している。

成功するとこんな感じでメールサーバーが見つかります。

図11: Thunderbirdがサーバー設定を自動検出した画面。IMAPでの受信設定になっていて、完了ボタンを押す直前。
図11: Thunderbirdがサーバー設定を自動検出した画面。IMAPでの受信設定になっていて、完了ボタンを押す直前。

※実際は2か所設定値に間違いがあり、postfixの設定を修正してやっとつながりました。

自分にメールを送信して送受信できるか確認します。

図12: Thunderbirdで自分宛てにテストメールを作成している画面。件名や本文に「mail server test」と入力している。
図12: Thunderbirdで自分宛てにテストメールを作成している画面。件名や本文に「mail server test」と入力している。

(実際はエラーが起きて、追加でpostfix の設定値を修正したりしていますが、)正常に送信、受信ができました。

図13: Thunderbirdの受信トレイ画面。送信したテストメールがちゃんと届いている。
図13: Thunderbirdの受信トレイ画面。送信したテストメールがちゃんと届いている。

ユーザー(メールアドレス)を追加してみる。

メールサーバー側でユーザー「unimoni」を追加。

図14: CentOSのユーザー追加画面。ユーザー名「unimoni」を新規作成している。
図14: CentOSのユーザー追加画面。ユーザー名「unimoni」を新規作成している。

Thunderbird でメールアカウント「unimoni@testmail.com」を追加。
問題なく(多分)認証されました。

図15: Thunderbirdで unimoni@testmail.com のメールアカウントを追加設定している画面。
図15: Thunderbirdで unimoni@testmail.com のメールアカウントを追加設定している画面。

メールの送受信もOK。

図16: Thunderbirdでunimoniアカウントからテストメールを作成している画面。件名「test」、本文に「add user test」と入力している。
図16: Thunderbirdでunimoniアカウントからテストメールを作成している画面。件名「test」、本文に「add user test」と入力している。
図17: Thunderbirdの受信トレイ画面。unimoniから送ったテストメールがuser宛てに届き、通知が表示されている。
図17: Thunderbirdの受信トレイ画面。unimoniから送ったテストメールがuser宛てに届き、通知が表示されている。

以上です。

かなり重宝してます。

(Visited 6,421 times, 1 visits today)

「テスト用のローカルなメールサーバーが欲しい」への2件のフィードバック

    1. ありがたいコメントいただき、とても励みになります。
      少しでもお役に立てば幸いです。

      壁紙、ご理解いただけてうれしいです!

コメントを残す

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