特に何も設定していないPostfixから、Gmailなどにメールを送信するとスパム扱いをされてリジェクトされることがよくあります。
例えば以下の様なエラーを返してくることがあります。
Our system has detected 550-5.7.1 that this message is likely unsolicited mail. To reduce the amount of 550-5.7.1 spam sent to Gmail, this message has been blocked. Please visit 550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for 550 5.7.1 more information.
これを回避するために、PostfixからGmailを経由してメールを送信することで、スパム扱いを避ける事ができます。
※ 大量メール送信はできないので注意
まず、メール送信用のGmailのアカウントを用意してください。
以下のアカウントを作ったとします。
メールアドレス:xxxxxx@gmail.com パスワード:your_password
次に、サーバ側の設定をします。
必須ライブラリをインストール
# yum -y install postfix cyrus-sasl-plain cyrus-sasl-md5
postfixの設定ファイルに追記
# emacs /etc/postfix/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_tls_CApath = /etc/ssl/certs/ca-certificates.crt inet_protocols = ipv4
メール送信用Gmailのメールアドレスとパスワードを設定ファイルに記述
# emacs /etc/postfix/sasl_passwd [smtp.gmail.com]:587 xxxxxx@gmail.com:your_password
ハッシュファイル作成
# postmap /etc/postfix/sasl_passwd # file /etc/postfix/sasl_passwd.db /etc/postfix/sasl_passwd.db: Berkeley DB (Hash, version 9, native byte-order)
Postfixをリスタート
# service postfix restart
テストメールを送信
# mail you@gmail.com
メールのログを確認
# tail -f /var/log/maillog Jan 16 02:31:09 hostname postfix/pickup[24996]: 4E97060352: uid=0 from=Jan 16 02:31:09 hostname postfix/cleanup[25005]: 4E97060352: message-id=<20150116023109.4E97060352@hostname.localdomain> Jan 16 02:31:09 hostname postfix/qmgr[24997]: 4E97060352: from= , size=472, nrcpt=1 (queue active) Jan 16 02:31:13 hostname postfix/smtp[25001]: 4E97060352: to= , relay=smtp.gmail.com[74.125.203.109]:587, delay=4, delays=0.05/0/1.7/2.2, dsn=2.0.0, status=sent (250 2.0.0 OK 1421375473 mr4sm2574221pdb.63 - gsmtp) Jan 16 02:31:13 hostname postfix/qmgr[24997]: 4E97060352: removed
メールボックスにメールは届いたでしょうか?
Enjoy!