Mac で受けるには、まあ postfix を使うのでしょうか。 これは普通のやり方で良い。
/etc/postfix/main.cf を編集する。
[chronos:/etc/postfix] mk% cd /etc/postfix [chronos:/etc/postfix] mk% sudo cp -p main.cf main.cf.org [chronos:/etc/postfix] mk% sudo vi main.cf [chronos:/etc/postfix] mk% diff main.cf.org main.cf 70a71 > myhostname = ホスト名.サブドメイン.meiji.ac.jp 77a79 > mydomain = ホスト名.サブドメイン.meiji.ac.jp 93a96 > myorigin = $mydomain 109a113 > inet_interfaces = all 157a162,163 > mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, > mail.$mydomain, www.$mydomain, ftp.$mydomain 256a263 > mynetworks = 132.26.0.0/16, 127.0.0.0/8 409a417,418 > #home_mailbox = mbox # classic? > #home_mailbox = Mail/inbox/ # NG 415c424 < #mail_spool_directory = /var/mail --- > mail_spool_directory = /var/mail 656c665 < mydomain_fallback = localhost --- > #mydomain_fallback = localhost 659c668 < mynetworks = 127.0.0.0/8 --- > #mynetworks = 127.0.0.0/8 [chronos:/etc/postfix] mk% |
こうしておいて
sudo launchctl load -F /System/Library/LaunchDaemons/org.postfix.master.plist |
実際には何度も main.cnf を書き直す。書き直すたびに
sudo postfix reload |
テストしてみよう。まず自分に出してみる。 これはローカルに処理されるはずだ。
[chronos:/etc/postfix] % telnet localhost 25 Trying ::1... Connected to localhost. Escape character is '^]'. 220-ホスト名.サブドメイン名.meiji.ac.jp ESMTP Postfix 220 ホスト名.サブドメイン名.meiji.ac.jp ESMTP Postfix HELO localhost 250 ホスト名.サブドメイン名.meiji.ac.jp MAIL FROM:ユーザー名@ホスト名.サブドメイン名.meiji.ac.jp 250 2.1.0 Ok RCPT TO:ユーザー名@ホスト名.サブドメイン名.meiji.ac.jp 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> FROM:ユーザー名@ホスト名.サブドメイン名.meiji.ac.jp Subject: Hello by myself This is a test. . 250 2.0.0 Ok: queued as 14A80579AC29 QUIT 221 2.0.0 Bye Connection closed by foreign host. [chronos:/etc/postfix] % |
これで無事 /var/mail/mk にたまる。 telnet でポートを叩くのではなく、 mail -s hello mk@ホスト名.サブドメイン名.meiji.ac.jp としても大丈夫だった。 ログは /var/log/mail.log にたまる。
大学のメール・サーバーで転送の設定をして無事動作することを確認した。
これでメールを出せないけれど、受け取れるようになった。
(2017/5/13追記) ここまでの設定では、 システム起動時に自動的に Postfix が起動されるようになっていない。 http://qiita.com/tmsanrinsha/items/75e06fbdd7e12409bb02にあるように /System/Library/LaunchDaemons/org.postfix.master.plist を書き換えるのかな? でも 「Mac OS の System Integrity Protection」 にあるみたいに、 /System/Library/LaunchDaemons/ にはガードがかかっている。 時間に余裕のあるときでないとダメだね。
桂田 祐史