PostfixとSMTP認証(SMTP-AUTH)でメールサーバー構築

PostfixとSMTP認証(SMTP-AUTH)の導入する方法です。

メール送信にパスワード認証を設け事で認証された場合のみメールの送信を許可します。また、Outbound Port25 Blocking対策として、サブミッションポート(587)も設定します。

SMTP認証には、「POP before SMTP」もありますが、「SMTP-AUTH」の方が使い勝手が良いのでオススメです。

スポンサーリンク

Postfixをインストール

※ インターネットサイトを選択

main.cf 編集

# vi /etc/postfix/main.cfを修正します。
下記は既に修正済みです。

バーチャルドメイン用ファイルを作成

バーチャルドメインは、example.com の他に、受信したいドメインがある時に使います。バーチャルドメインを使わない場合は、main.cf の virtual_alias_maps をコメントアウトしてください。(※インストール時の main.cf には virtual_alias_maps はありません。
# vi /etc/postfix/virtualを作成します。

example.com anything のような1行はドメイン毎に必須です。
例えば、info@example.jp hoge hoge2 hoge3は、info@example.jp に届いたメールをhogeとhoge2とhoge3に転送します。
info@example.jp hoge@serverlog.jpのような指定も可能です。

postmap を使ってバーチャルドメイン用DB化

この操作を行わないと、バーチャルドメインが反映されません。

エイリアス機能

Postfix にはバーチャルドメインに似た、エイリアス機能もあります。エイリアスは、メールを別のユーザーや別のメールアドレスに転送する事が出来ます。
# vi /etc/aliasesを修正します。

root: hoge@serverlog.jpと設定すると、rootに届いたメールを hoge@serverlog.jpに転送する事が出来ます。

エイリアスの設定反映

この操作を行わないと、エイリアスが反映されません。

/etc/mailname(@ここの部分) 編集

root などから送られてきたメールアドレスの@以下に付け加えられるドメイン部分を設定する。
# vi /etc/mailnameを修正します。

この場合、root@example.comのようになる

SMTP認証(SMTP-AUTH)をインストール

SMTP認証(SMTP-AUTH)設定

ここでは、認証デーモンを有効にし、シャドウファイルを使う設定にします。(シャドウファイルとは、Linuxのユーザーとパスワードなどが書かれたファイルです。)
# vi /etc/default/saslauthdを修正します。
下記は既に修正済みです。

SMTP認証方式設定

下記の2行をsmtpd.confに記述します。
# vi /etc/postfix/sasl/smtpd.confを作成します。

グループ追加

saslのグループにpostfixを追加します。

サブミッションポート(587)の設定

submissionのコメントアウトを解除して有効にします。
# vi /etc/postfix/master.cfを修正します。
下記は既に修正済みです。

サブミッションポート確認

Postfixのバージョンによっては、submissionの部分を、587にしないと動かない場合がある。

上記が表示されればsubmissionのままでOK。

再起動(設定反映)

注意

メールの受送信を行うユーザーはホームディレクトリが存在している必要があります。
/home/hoge/ ← ホームディレクトリ
※ home_mailbox = Maildir/を有効にした為。

メールソフトの設定

今回、設定したのはメールサーバーです。Outlookなどでメールにアクセスするには、POP3サーバーが必要です。

Outlookの設定例

受信メールサーバー:example.com
送信メールサーバー:example.com

アカウント:hoge
パスワード:password

送信サーバーは認証が必要にチェック → 同じ設定を使用する。

送信サーバー(サーバーポート番号):587

SSHからテストメールを送る

SSHのコマンドラインから、テストメールの送信方法です。

$ echo "This is test mail." | mail hoge@example.com

hoge@example.com は送り先なので、Gmailなどでも大丈夫です。

外部からメールが届かない?

25番ポートが空いているか確認してください。

読んで頂いて有り難うございます!