ローカルなドメイン (example.local とか) で利用しているサーバーの管理メールを Gmail に転送する設定についての備忘録.Centos7 環境を前提とします.
まず,必要なパッケージをインストールする.下の2つは Gmail の SMTP 認証のため.
# yum -y install mailx telnet # yum -y install cyrus-sasl cyrus-sasl-plain
Centos7 で postfix がどのように標準で設定されているのかを確認.
# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 html_directory = no inet_interfaces = localhost inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES sample_directory = /usr/share/doc/postfix-2.10.1/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop unknown_local_recipient_reject_code = 550
/etc/postfix/main.cf に必要な最低限の設定を行う.
# vi main.cf 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_sasl_security_options = noanonymous smtp_generic_maps = hash:/etc/postfix/generic
- dns で mx が設定されていない場合は [smtp…..] とする.
- smtp_use_tls = yes: STARTTLS 対応.Gmail の場合必須のよう.
- smtp_sasl****: SMTP-AUTH 対応.Gmail の場合必須のよう.
- smtp_generic_****: 外に出る(Gmail で転送する)メールの From 書き換えのため.
/etc/postfix/sasl_passwd と /etc/postfix/generic の編集を行う.
# vi sasl_passwd [smtp.gmail.com]:587 [email protected]:password # chmod 600 sasl_passwd # postmap hash:/etc/postfix/sasl_passwd # mv /etc/postfix/generic /etc/postfix/generic.bk # vi /etc/postfix/generic @*****.local [email protected] # postmap hash:/etc/postfix/generic
- sasl_passwd: 2段階認証とし,password はアプリパスワードを設定する.
- /etc/postfix/generic: Postfixアドレス書き換え.
root 向けのメールを全て適当なアドレスへ転送する.
# vi /etc/aliases root: [email protected] # newaliases
Gmail は別名に対応しているので,[email protected] などとすれば振り分けも可能になるようですね.
最後に postfix の再起動と実際に送れるかどうか mailx コマンドを用いてチェックして終わり.
# systemctl restart postfix.service # mail [email protected]
なお,以下で postfix のキューの状態の確認と,キューに溜まったままのエラーメイルの強制削除を行える模様.
# postqueue -p # postsuper -d ALL