Postfixでgmailにメール送信
$ sudo alternatives --config mta There is 1 program that provides 'mta'. Selection Command ----------------------------------------------- *+ 1 /usr/sbin/sendmail.postfix
gmailにメールを送信してみます。
$ sendmail example@gmail.com From:e@example.com To:example@gmail.com Subject:test welcome! .
gmailのメールBoxを確認してみましたが、受信できておらず。。。送信ログを確認してみます。
$ sudo tail /var/log/maillog ... Jun 10 15:50:00 vagrant-centos64 postfix/smtp[2524]: ... status=deferred ... connect to alt2.gmail-smtp-in.l.google.com ... Network is unreachable
どうやらgmailのメールサーバへの送信に失敗しているようです。
そこで、ネットで調査していると以下を発見しました。
Postfix で、Gmail にメールをリレーする - 私の二次記憶
どうやらOP25Bという問題のおかげで直接25番portでSMTPできないようです。
そこで、PostfixにTLS、SASLの追加設定をします。
$ sudo vim /etc/postfix/main.cf relayhost = [smtp.gmail.com]:587 #sasl setting smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain #tls setting smtp_use_tls = yes
SASL 認証パスワードファイル sasl_passwd を作成します。書く内容としては、[smtp.gmail.com]:587 と、自身のGoogleアカウントのメールアドレスとパスワードを書きます。
$ sudo vim /etc/postfix/sasl_passwd [smtp.gmail.com]:587 example@gmail.com:passpass
ハッシュファイルを作成します。
$ sudo postmap /etc/postfix/sasl_passwd
再度メールを送信してみます。
$ sendmail -f e@example.com example@gmail.com .
まだ送信できていないようです。ログをみると、Please log in via your web browser. の表示があります。
$ sudo tail /var/log/maillog status=deferred (SASL authentication failed; server smtp.gmail.com ... Please log in via your web browser ...
どうやら、以下にアクセスして、安全性の低いアプリを許可しないといけないようです。
https://www.google.com/settings/security/lesssecureapps
許可してメールを送信すると、無事送信できました。
- 作者: tukuru.org
- 発売日: 2013/03/25
- メディア: Kindle版
- この商品を含むブログを見る