Tips

AmazonEC2へのPostfixインストール手順

それでは、第三の確認
「ローカルPCのメーラからPostfixをインストールした送信サーバを利用して、メールを送信できるか」
確認してみましょう。

メーラの送信サーバ(SMTP)設定を開きます。新規で送信サーバを追加します。
「サーバ名」の欄にサーバのIPアドレス、もしくはドメインを入力します。
認証方式を「パスワード認証」に設定します。今回は練習なので「平文」パスワードでよいですが、
実際に運用するメールサーバの場合は「暗号化」されたパスワード認証を利用することが必要です。

ユーザ名を、サーバのユーザのいずれかで指定し、この送信サーバを選択した状態で、
メーラから任意のアドレスへメール送信してみます。パスワードを聞かれたらOKです。

これでSMTP-AUTHを使った認証メール送信サーバの設定が完了です。
先ほど言ったようなパスワードの暗号化や、ユーザ・パスワードの組み合わせをサーバのものとは別で設定したりする場合にはさらに設定が必要になります。

最後にPostfixの設定ファイル設定ファイル「/etc/postfix/main.cf」の設定項目を説明しておきます。
これをきちんと設定することで、次のような動作が可能になります。

・不明なドメインからのメールとして拒否されなくなる(myhostname,mydomainの設定)
・ローカルネットワークから送信されたメールのドメインを補完できる(myoriginの設定)
・ローカルで処理するメールのドメインを指定できる(mydestinationの設定)
・外部からのメールを受信できるようになる(inet_interfacesの設定)
・受信メールを別々ファイルで管理できるようになる(home_mailboxの設定)
(デフォルトだと1ファイルに追記されていくのでファイルが壊れると全メールが見れなくなる)

詳細は次のような感じです。

・myhostname
メールサーバのフルドメイン名を記述します。
ドメインを取っていないサーバであれば適当でも構いませんが、
このサーバから外部サーバへメール送信する場合や、
外部サーバからのメールを受信しようとする場合には、
適切に設定しなければ送受信はうまくいきません。
例)mail.sakc.jp

・mydomain
メールサーバのインストールされているサーバのドメイン名を記述します。
デフォルトは$myhostnameから最初のドメインクラスを除いたものになります。
ドメインを取っていないサーバであれば適当でも構いませんが、
$myhostname同様、外部とのやり取りをする場合は、適切に設定しなければうまくいきません。
例)sakc.jp

・myorigin
ローカルネットワークから送信されてきたメールの、送信元アドレスの@以降を補完する変数名。
デフォルトは$myhostname。複数マシンからの送信である場合、$mydomainにしておく必要がある。
例)myorigin = $myhostname

・inet_interfaces
メールを受信するインターフェースを指定します。
allを指定すると、外部のMTAサーバからの送信を受け取ることができます。
localhostを指定すると、自サーバからの送信のみを受け取ることができます。
(自サーバへメールを送るというイメージがわかりずらいかもしれませんが、後で例をあげます)
例)inet_interfaces = all

・mydestination
他のマシンに転送するのではなく、メールをローカルで受信するドメイン名を指定します。
デフォルトはマシン自身宛のメールを受け取ります。
例)mydestination = $myhostname, localhost.$mydomain, localhost

・home_mailbox
メールボックス形式をMaildir形式にする
例)home_mailbox = Maildir/

感想

メールサーバはWebサーバほど設定を色々見たことがなかったので、少しこんがらがって大変でした。
みなさんは整理しつつ、1つずつ進めていってください。あとEC2にドメインをとっていないので、その点も面倒でした。受信メールサーバについては別の記事にまとめていきます。

初級インフラエンジニアにオススメ連載リンク

ネットワーク学習の登竜門・・
ゼロからのCCNA独学講座

Linuxの取り扱いを基礎から学ぶ
Linux資格 「LPIC-Lv1」徹底解説

Recent News

Recent Tips

Tag Search