Macで気軽にメールしたい。

Snow LeopardではSMTPサーバーとしてpostfixが入っている。smtp.gmail.comと直接やり取りするプログラムを書いてもいいけど、せっかくSMTPサーバーがあるのでその辺はそっちに任せてsendmailコマンド等を使うことにした。

「Macはpostfixが動いてるの?そんな無駄なモノ今すぐ止めなきゃ!」

と思った方、ご安心下さい。Snow LeopardのpostfixはlaunchdのQueueDirectories機能を使っているので/var/spool/postfix/maildropディレクトリに変化が起きた時だけ立ち上がって、60秒後に終了するので慢性的な負荷は書けません。(/System/Library/LaunchDaemons/org.postfix.master.plistに設定がある。)

gmailにリレーするにはSASLとTLSの設定が必要なので下記のようにする。

% sudo vi /etc/postfix/sasl_passwd
smtp.gmail.com:587 komagata@gmail.com:パスワード
% sudo postmap /etc/postfix/sasl_passwd
% sudo rm /etc/postfix/sasl_passwd
% sudo vi /etc/postfix/main.cf
relayhost=smtp.gmail.com:587
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=
smtp_use_tls=yes
smtp_tls_security_level=encrypt
smtp_sasl_mechanism_filter = plain # if you use Yosemite
% sudo postfix stop
% sudo postfix start
% date | mail -s test komagata@gmail.com

ひゃっほう。

何か問題があれば% tail -f /var/log/mail.logしてログを確認しましょう。

二段階認証を使ってる場合はアプリパスワードを発行してそれを上記のパスワードに入力してください。

2012/06/05追記:Lionでも同じでOKでした。

2013/05/02追記:Mountain Lionでも同じでOKでした。

2014/03/11追記:Mavericksでも同じでOKでした。(by tagawaさん)

2015/06/04追記:Yosemiteではmain.cfに一行追加する必要がありました。あとは同じ。

2017/07/25追記:Sierraでも動きますが、Googleから「安全性の低いアプリのログインをブロックしました」として弾かれてしまいます。Googleのアカウント設定で「安全性の低いアプリのログインを許可」すればOKです。(推奨できませんが)

Comments


Option