Meaningless Notebook

我輩は雑記帖である。名はまだない。


CentOS 7.2 に Postfix をセットアップする。

内部の別サ-バから受け取った SMTP リクエストを上位のメ-ルサ-バ (MSNのSMTPサ-バ) へメ-ルリレ-する (なんでこんなめんど-なことをするかというと Aipo (ry

本設定は、外部公開はせず内部の別サ-バからの SMTP リクエストを上位へ連携するための設定 (セキュリティは一切考慮していない)。

手順は下記の通り。

  1. Postfix をインスト-ル
  2. Postfix をセットアップ

1.Postfix をインスト-ル (省略)

CentOS ならミニマムインスト-ルでも最初からインストールされてる。

2.Postfix をセットアップ

1.設定ファイル修正

『/etc/postfix/main.cf』を下記の通りに編集。

75行目付近。

#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = セットアップするサ-バのホスト名

84行目付近。

#mydomain = domain.tld
mydomain = ロ-カルドメイン名

102行目付近

#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain

116行目付近。

#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
inet_interfaces = all

168行目付近

#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

270行目付近

#mynetworks = hash:/etc/postfix/network_table
mynetworks = 127.0.0.0/8, ロ-カルネットワ-クセグメント/サブネットマスク

322行目付近

relayhost = [smtp-mail.outlook.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt

433行目付近

#home_mailbox = Maildir/
home_mailbox = Maildir/

588行目付近

#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP

2.smtp_sasl_password_maps 作成

メ-ルリレ-先の SMTP サ-バ認証で使用するパスワ-ドマップファイルを作成する。

『/etc/postfix/relay_password』

[smtp-mail.outlook.com]:587 SMTP 認証のユ-ザ-名:SMTP 認証のパスワ-ド

作成したパスワ-ドマップファイルを下記コマンドでハッシュ化する。

postmap hash:/etc/postfix/relay_password

3.Postfix サ-ビスの起動設定

下記コマンドを実行して Postfix サ-ビス起動設定。

systemctl reload postfix.service
systemctl enable postfix.service

4.Firewalld をセットアップ。

下記コマンドを実行して Firewalld 設定。

firewall-cmd --add-service=smtp --permanent
firewall-cmd --reload

長く苦しい戦いだった…。

参考元

  1. Server World
  2. maruko2 Note
  3. Qiita
  4. 禿散らかしてごめんなさい

Amazon