Panda Noir

JavaScript の限界を究めるブログでした。最近は幅広めに書いてます。

メールサーバー構築に四苦八苦したので記録

f:id:panda_noir:20190102120513j:plain

あけましておめでとうございます。今年もよろしくお願いします。

去年、メールサーバ構築・独自ドメインのメールアドレス作成(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レコード設定を利用する」の順に進みます。

f:id:panda_noir:20190102114359p:plain

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

f:id:panda_noir:20190102114404p:plain

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

f:id:panda_noir:20190102114407p:plain

設定の書き方

いじる設定ファイルは以下のとおりです。

/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は最終的に以下のようにしました。正直どの設定がどう効いているのかは未だよくわかってません(おい)。

f:id:panda_noir:20190102115336p:plain

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などから送ってみてください。