【Ubuntu 18.04/16.04 LTS Server】postfix メールサーバをサクッと使う

スポンサーリンク

Ubunt Serverを独自ドメインで運用しているが、SSLボックス(CoreSSL) の公式SSL証明書を発行して貰うには、ドメイン所有者である事を証明するために、ドメイン名を含むメールアドレスへの確認メールを受け取る必要がある。そこで、Ubuntu Serverに「postfix」メールサーバを動かして、確認メールを受信できるようにする。

今回はインターネットからのメールが受信できるまでの基本的な設定とする。ローカルLAN内の送受信は問題ないが、インターネットへメール送信しようとすると、SSL認証やら25ポートブロックとか、いろいろ面倒な事があるので、とりあえず認証確認メールが受信できる事を目標とする。

【Ubuntu 16.04 LTS Server】ApacheでSSL通信(https)する(公式SSL証明書:CoreSSLを取得)
前の記事では、Ubuntu ServerのサンプルSSL証明書を使ったApacheのSSL通信を試してみた。今度は実際の運用ができるように、公式のSSL証明書(CoreSSL)を取得し、正規にSSL通信できるようにしたので備忘録を残す。 国...

postfixでググってみると、いろいろ書いてあって判りにくい。
でも、Ubuntuではインストール時のダイアログで、基本的な設定ファイルは自動的に作成され、ローカルメールとメール受信だけなら簡単に使えた。

追記(2018/6/2)

Ubuntu 18.04 LTS Serverでも動作する事を確認した。

【Ubuntu 18.04 LTS Server】インストールする
Ubuntu 18.04 LTS が、2018年4月26日(日本時間27日)にリリースされた。 そこで、新規に「Ubuntu 18.04 LTS Server」をインストールしたので備忘録を残す。 インストール媒体の入手 下記URLから、イ...

準備

1)「お名前.com」のDNS設定で、MXレコードを登録

メールサーバのホスト名を登録。
私は「mail.ドメイン名」のようなAレコードホストを追加し、MXレコードとした。

画像03

【RTX1200】ヤマハルータで「お名前.com」の独自ドメイン名を使う
前の記事で紹介したように、「お名前.com」で独自ドメイン名を取得した。 私のインターネット環境は@niftyのフレッツ光接続で、固定IPアドレスではないので接続の度にグローバルアドレスが変更される。 独自ドメイン名へのアドレス登録は、お名...

2)ルータの設定

25ポート(smtp)が、運用するUbuntuサーバと外部から通信できるように、静的マスカレードを設定。

postfixのインストール

Ubuntuサーバで下記のコマンドを実行。

$ sudo apt install postfix

下記のような画面がでるので「インターネットサイト」を選択。

画像01

続いて下記の画面では、ドメイン名(例. sample.com)を入力。(メールサーバのホスト名ではない)

画像02

postfixの設定

設定ファイルは /etc/postfix/main.cf

$ sudo nano /etc/postfix/main.cf

ほぼ設定は終わっているが、下記の箇所を確認し修正。

1)メールサーバのホスト名

お名前.comに登録したホスト名

myhostname = mail.sample.com

2)メールを受け付けるドメイン名

お名前.comで取得したドメイン名が含まれている事

mydestination = $myhostname, sample.com, localhost.localdomain, localhost

3)postfixの再起動

上記設定を確認したら、下記コマンドで再起動

$ sudo service postfix restart

自分ユーザ名宛て以外のメールを受け取る

エイリアスファイル(/etc/aliases)を使う事によりひとつのアカウントに対して、複数のメールアドレスを設定できる。
デフォルトでは下記のような、メールシステム管理者用のアカウント「postmaster」がこのファイルで設定されている。このファイルを使用すると、新たなユーザを増やすことなくメールアカウント設定追加できる。

postmaster: root

今回は、認証メールで必要なアドレスフォーマットが「 admin@ドメイン名 」なので、admin宛てのメールをhogeuser宛てに転送する設定を追加する

$ sudo /etc/aliases

下記行を追加

admin:  hogeuser

設定ファイルを修正したら、エイリアスファイルをデータベース化(/etc/aliases.dbファイルの作成)し、「newaliases」コマンド実行し、Postfixに即時反映させる。

$ sudo postalias /etc/aliases
$ sudo newaliases

mailコマンドをインストール

メールの送受信する為に、mailコマンドをインストールする。メールコマンドは幾つのパッケージかあるが、私には使い易かった bsd-mailx を使う。

$ sudo apt install bsd-mailx

メールの送信テスト

まずは、mailコマンドを使って自分自身宛にメールを送信してみる

$ mail hogeuser@localhost
Subject: test
test mail
.
Cc:
$

mailコマンドの引数で、宛先のアドレスを指定。本文の終了は . で終わる。

メールの受信確認

サーバにログインした時に、メールが届いていれば、下記のようなメッセージが表示される。

You have new mail.

メールを読むには、mailコマンドを使う。
mailコマンド実行し、読みたいメールの番号を入力する。終了は q

$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/hogeuser": 1 message 1 new
>N  1 hogeuser@sample.com   Fri Mar 24 12:32   14/429   test
& 1
Message 1:
From hogeuser@sample.com  Fri Mar 24 12:32:48 2017
X-Original-To: hogeuser@localhost
To: hogeuser@localhost
Subject: test
Date: Fri, 24 Mar 2017 12:32:48 +0900 (JST)
From: hogeuser@sample.com (hogeuser)

test mail

& q
Saved 1 message in /home/hogeuser/mbox

受信したメールは、ホームディレクトリの mbox ファイルに追加保存される。

次に、外部メール(yahooメールやgmailなど)から、admin@ドメイン名 宛てにメール送信してみて受信できる事を確認。

メール保管形式について

メールサーバーにおけるメール保管形式である mbox 形式と Maildir 形式がある。この記事では、mbox 形式で使った。
mbox 形式は古くから使われている形式で、受信した全てのメールを平文で1つのファイルに連結して保管する形式。それに対して Maildir 形式は新しい形式で、1通のメールを1つのファイルとして保管する形式。

Maildir 形式にするには、「main.cf」に下記行を追加記述する事で変更できる。

home_mailbox = Maildir/

Mildir 形式では、ホームディレクトリの Maildir/フォルダに、メール別のファイルに分割し格納される。
但し、この設定を行うとログイン時の着信メッセージや、mailコマンドでのメールの読み出しができない。メールを読むためには、dovecotサービスや別メールソフトなどが必要となるが、最近は Maildir 形式で使われる事が多いよう。
今回は、サクっと認証メールを受信したいだけなので、mbox 形式のままで十分。

補足

  • お名前.comのDNS設定では、MXレコードにはAレコードしか設定できない。wwwホストはcnameを使っているので、それが指定できればベストだったが、仕方ないので、お名前.comで配布のDDNS更新ツール(Windows版)を使って、このメールサーバのIPアドレスを定期的に更新するようにした。
  • インストール済みのパッケージを調べるには $ dpkg -l
  • 既にpostfixがインストール済みで、パッケージの再設定を行いたい場合は下記コマンドを実行
    $ sudo dpkg-reconfigure postfix
  • /etc/mailname に、受信するメールドメイン名が記述されている
  • mailコマンドは複数パッケージ入っている場合は下記で切り替えられる
    $ sudo update-alternatives --config mailx
  • 上述した設定で、インターネット外部からのメールは受信はできるが、外部への送信に関しては最近はセキュリティーの関係でまずできない。送信できるようにする為には、更にpostfixへの追加設定が必要。今後チャレンジしていきたい。



参照記事

参考

  1. サーバセットアップ~postfix~
  2. Debian(Ubuntu)で postfix を使ってみる
  3. 仮設メールサーバでSSL証明書の認証メールを受信する
  4. 【dpkg-reconfigure】インストール済みパッケージを再設定する
  5. Ubuntu: apt-get まとめ
  6. mailコマンドについて
  7. メール保管形式「mbox形式」と「Maildir形式」とは?
  8. 「mbox形式」と「Maildir形式」の違い
  9. CentOS: Maildir(Mailbox) 設定後に mail コマンドが使えない
  10. Postfix – Ubuntu documentation

コメント

タイトルとURLをコピーしました