Postfixをインストールして、メールの配送先をMailCatcherサーバーに設定していくよ!
1.Postfixとは
Postfixは「メールサーバー(MTA:Mail Transfer Agent)」と呼ばれるソフトで、
メールの「送信」を担当するシステムのひとつ。
Postfixは、Linuxサーバーでよく使われてて、たとえば以下のようなことができる
- サーバーからの通知メールを送る(例:Zabbixやcronの通知)
- フォームの送信内容をメールで届ける
- MailCatcherやGmailなど、別のSMTPサーバーにメールをリレー(中継)する
2.MailCatcherとは
ざっくりいうと 「実際には送らないテスト用のメール受信箱」
MailCatcherは、開発者やサーバー管理者がメールのテストをしたいときに使う便利ツールで
- 実際のGmailや会社のメールには送信しない
- 代わりに、ローカル環境(自分のPCや開発サーバー)で受け取る
- Web画面でそのメールの内容がすぐに見られる
使用例
- サーバーから「アラート通知メール」がちゃんと送れるか試したい
- フォーム送信時に「確認メール」が正しく作られるか見たい
- 本番環境に送って事故らないように、テスト環境で安全に確認したい
3.さっそく作業
①まずは必要なコマンドのインストール(mailコマンド)
sudo dnf install net-snmp-utils
②Postfixのインストール
sudo dnf install postfix
③Postfixの設定ファイル編集
Postfixの設定ファイルを編集して、メールをMailCatcherサーバーにリレーするよう設定
sudo vi /etc/postfix/main.cf
以下の設定を追加または変更
relayhost = [192.168.xxx.xxxx]:25
#Postfixがすべてのネットワークインターフェースでリッスンするように設定
inet_interfaces = all
#Postfixが自分自身のメールだけを処理するようにする
mydestination = localhost
④Postfixの再起動
sudo systemctl restart postfix
⑤ファイアーウォールの設定
もしファイアーウォールが有効になっている場合、PostfixがMailCatcherにアクセスできるようにポートを開放する必要がある。
以下のコマンドでSMTPポート25を開放
sudo firewall-cmd --add-port=25/tcp --permanent
sudo firewall-cmd --reload
⑥動作確認
Postfixが正しくMailCatcherにメールを送信しているか確認するためにメールを送信
echo "Test email" | mail -s "Test Postfix to MailCatcher" user@example.com
MailCatcherのUIで、上記によって送信されたメールを確認(Webブラウザでhttp://192.168.xxx.xxxにアクセス)