ローカル開発環境用に Mac OS X Lion に postfix を設定する。
Mac OS X には最初からpostfixが入っているので、まず Lion でそのままの設定で postfix を起動してみる。
$ sudo postfix start
メール送信すると、以下のエラー。
/var/log/mail.log
postfix/smtpd[3475]: fatal: open /etc/postfix/submit.cred: No such file or directory postfix/master[3282]: warning: process /usr/libexec/postfix/smtpd pid 3475 exit status 1 postfix/master[3282]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
ログを見ると、/etc/postfix/submit.cred が存在しないというエラー。
OS X Lion postfix smtpd problems: Apple Support Communities
/etc/postfix/submit.cred を作成し、パーミッションを設定。
$ sudo touch /etc/postfix/submit.cred $ sudo chmod 600 submit.cred
/etc/postfix/submit.cred
submitcred version 1 hostname|user|password
※ hostname、user、passwordは、実際の送信したいユーザのものに置き換える。
※ submit.credは、空行が含まれていると、
warning: syntax error on line 2 of /etc/postfix/submit.cred
という警告が出るようなので、空行は入れない。
/etc/postfix/main.cf
$myhostname = macbook-pro.local $mydomain = macbook-pro.local myorigin = $mydomain inet_interfaces = all # 以下の行があったらコメントアウト #inet_interfaces = loopback-only
自動起動の設定
/System/Library/LaunchDaemons/org.postfix.master.plist
- -e オプション(プロセスが終了するまでの時間)をコメントアウト。
- OnDemand を false に設定。
<plist version="1.0"> <dict> <key>Label</key> <string>org.postfix.master</string> <key>Program</key> <string>/usr/libexec/postfix/master</string> <key>ProgramArguments</key> <array> <string>master</string> <!-- <string>-e</string> <string>60</string> --> </array> <key>QueueDirectories</key> <array> <string>/Library/Server/Mail/Data/spool/maildrop</string> </array> <key>AbandonProcessGroup</key> <true/> <key>OnDemand</key> <false/> </dict> </plist>
$ sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist $ sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist