Edited at

Postfix Tips

More than 5 years have passed since last update.

ちょっとした設定とか


Relay する

% sudo vi /etc/postfix/main.cf

relayhost = [smtp.my.server]

% cd /etc/postfix
% sudo postmap transport

Postfix は /etc/hosts を参照しないので、内部 DNS がない場合は IP を指定する

Relay 先で受け入れる設定を施しておく必要有り。Postfix なら以下がポイント


  • mynetworks を定義しておく

  • mydestination に $mydomain を入れる

  • inet_interfaces = all にしておく(CentOS 6.x だとデフォルトは local のみ LISTEN っぽい)

http://www.postfix-jp.info/trans-2.3/jhtml/BASIC_CONFIGURATION_README.html


smtp.gmail.com と連携する

MTA が Postfix になってるか確認しておく

% alternatives --config mta

smtp.gmail.com の Root CA をダウンロードして配置

% get https://www.thawte.com/roots/thawte_Premium_Server_CA.pem

% sudo mv thawte_Premium_Server_CA.pem /etc/pki/tls/certs/

設定追加

% sudo vi  /etc/postfix/main.cf

myhostname = // FQDN
mydomain = // DOMAIN_NAME
myorigin = $mydomain

relayhost = [smtp.gmail.com]:587

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

smtp_tls_CApath = /etc/pki/tls/certs/thawte_Premium_Server_CA.pem

/etc/postfix/sasl_passwdを作成してハッシュ化

% cat /etc/postfix/sasl_passwd

[smtp.gmail.com]:587 username@gmail.com:password

% sudo chown root:root /etc/postfix/sasl_passwd
% sudo chmod 600 /etc/postfix/sasl_passwd

% postmap /etc/postfix/sasl_passwd

起動

% sudo service postfix start

mail コマンドでテストとか。mailx パッケージにある。


SASL authentication failed; cannot authenticate ...

SASL authentication failed; cannot authenticate to server smtp.gmail.com[XXX.XXX.XXX.XXX]: no mechanism available

パッケージを確認

% sudo yum install cyrus-sasl-plain


From 書き換え

リレーに使う Gmail の「設定」→「アカウント」から「メールアドレスを追加」で設定しておいたアドレスのみ上書きで送信可能

http://d.hatena.ne.jp/ayokoyama/20061207/p1