Mac OS X で Postfix(sendmail) を使って CLI でメールを送る

cron で定期的にチェックして、その結果を携帯に送ろうと思ったので。


Leopard には標準で Postfix が入っているので、それを使って Gmail でメールを送れるようにする。
設定ファイルは /etc/postfix 以下に入っている。
まず、/etc/postfix/main.cf を編集する。

# Gmail
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes 
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes


次にアカウント情報用のファイル sasl_passwd を作る。

[smtp.gmail.com]:587 eagletmt@gmail.com:XXXXX

XXXXX は Gmail アカウントのパスワード。
そうしてから postmap で DB化。

% postmap sasl_passwd

出来上がった sasl_passwd.db を /etc/postfix/sasl_passwd.db へコピーすれば設定終わり。
あとは

# postfix check

で設定ファイルがちゃんと書けているかチェックし、(何も出力されなければOK)

# postfix reload

で反映される。


実際に送るには

From: eagletmt@gmail.com
To: foo@example.com
Subject: test
Content-Type: text/plain; charset=iso-2022-jp

T/O

みたいなファイルを用意したりして

% sendmail -t < message

で送れる。


何らかの原因で送れない場合は /var/log/mail.log を読んでググる