回線の切り替えで多分OP25Bが効くようになったので、サーバからのメール送信をGmailをリレーして行うように設定変更。
とりあえず、main.cf に以下を追加
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
あとはsasl_passwdに以下を追加して
[smtp.gmail.com]:587 xxxx@gmail.com:pass
(xxxxはGmailアカウント、passはパスワードに置き換える)
# postmap sasl_passwd
で完了。postmap後はsasl_passwdからはパスワードを削っておくと安全かな。
tlsの証明書を作成して参照する設定にしないと延々とログにエラーだかワーニングだかでるけど、時間もないのでパス。
と、送信できたところで問題発生。送信元が全て認証したGmailアカウントになってしまい、独自ドメインのメールが送信できていない…
どうやらそういう仕様らしいが、ちゃんとやり方があった。
Gmail設定の「アカウントとインポート」で送信元にしたいアドレスを登録しておくこと。
そうすれば登録されているアドレスだけはちゃんと送信元を指定してくれる。すばらしい!
この設定していて気付いたのだが、
myhostname と mydomain の設定。
今までは myhostname はパスして mydomain にサブドメインつけて適当に設定していたけど、間違っていた。
以下が正解。
・myhostname
サーバのホスト名(例:subhost.kisara-s.com)
・mydomain
使いたいメールのドメイン(例:kisara-s.com)
ということで、ちゃんと設定しておけば複数のサーバからsendmail等で送信したときに全部のサーバが同じドメインでメールを出してくれる。便利だ~