
あけましておめでとうございます。今年もよろしくお願いします。
去年、メールサーバ構築・独自ドメインのメールアドレス作成(4/4)~メールサーバのインストール~ - Qiitaを参考にメールサーバーの構築をしたのですが、どうもうまく行かなかくて苦戦していました。新年になってようやく解決できたので、ここに構築手順を書き記しておきます。
環境構築編
Postfix + Dovecotにて構築を行います。環境はCentOS 7.6です。
ここでカンタンに2つの紹介をします。
- Postfix: メールの送受信を担う。コレ一つでメールサーバー自体は完成する。
- Dovecot: サーバー上で受信済みのメールを取得する(POP)ためのソフト。コレがないとメールクライアントから接続したりができない。
要するに、ただメールサーバーとしてお知らせ送信がしたい場合はぶっちゃけPostfixだけで事足ります。
$ yum install dovecot $ systemctl enable dovecot
DNS設定
MXレコードとAレコードを設定します。例としてexample@example.comというメールアドレスを考えます。
MXはexample.comというドメインに来たメールをmail.example.comというホストに配送する、というような設定を行います。
Aレコードはこのmail.example.comのIPアドレスを設定します。
お名前.comを例にとると次のようになります。まず「DNS関連機能の設定」→「DNSレコード設定を利用する」の順に進みます。

そして、以下のような入力フォームが出てくるので、次のように入力します。ここではpandanoir.net宛のメールをmail.pandanoir.netへ転送しています。優先度は10でとりあえずは構いません。

Aレコードも書きます。こちらはメールサーバーのIPを指定します。

設定の書き方
いじる設定ファイルは以下のとおりです。
/etc/postfix/main.cf /etc/postfix/master.cf /etc/dovecot/conf.d/*
/etc/postfix/main.cfはPostfix全体に関する設定をします。その後、/etc/postfix/master.cfで、各ドメインでmain.cfと異なる部分を追記していきます。つまりこの2つは記述方法が同じです。
master.cfは最終的に以下のようにしました。正直どの設定がどう効いているのかは未だよくわかってません(おい)。

mua_client_restrictions = permit_sasl_authenticated,rejectというのをmaster.cfに記述してください。単なる変数の宣言です。あとはメールサーバ構築・独自ドメインのメールアドレス作成(4/4)~メールサーバのインストール~ - Qiitaを参考に設定すればOKです。
実際に送信してみる
$ echo "テスト" | mail -s "タイトル" -r from@example.com to@example.com
これで~/Maildir/newにメールがあればサーバー内での送受信ができています。また、to@example.comとして外部のアドレスを指定すれば外部へ送信できるはずです。さらに、外部からのメールの受信もできるはずですので、ケータイやGMailなどから送ってみてください。