※「postfix動かそうとしてもログが/var/log/maillogに無い件」という記事を書き換えました。
#Mac でXAMPPとかでメール送信させてみる
以下Sierraのときに書いた記事だったけど、Catalinaも同様でした。ただ、ipv6を使うと送信先がGmailだと接続を許さないのでipv4設定を行うこと。
下のほうに記述してあるSMTPログをキャッチすると以下のログがでていることがわかる。
ちょっと改行してわかりやすくしてます。
ipv6使う場合は、認証しろよってことです。
relay=ASPMX.L.GOOGLE.COM[2404:6800:4008:c04::1a]:25,
delay=2.2,
delays=0.19/0.01/1.5/0.49,
dsn=5.7.1,
status=bounced (host ASPMX.L.GOOGLE.COM[2404:6800:4008:c04::1a]
said: 550-5.7.1 [240d:1b:2f:9700:5cc1:b:db35:f619]
Our system has detected that this 550-5.7.1 message
does not meet IPv6 sending guidelines regarding PTR records 550-5.7.1 and authentication.
Please review 550-5.7.1
https://support.google.com/mail/?p=IPv6AuthError for more information
550 5.7.1 . e77si318755pfh.23 - gsmtp (in reply to end of DATA command))
macのpostfixを設定
postfixはデフォルトで、protocolがallになっているので、ipv4だけにします。
#inet_protocols = all
inet_protocols = ipv4
ちなみに、postfixは、SMTPサーバーでもあるけどクライアントでもあります。なので、常時起動(デーモン)でなくてもいいです。なので、ファイルを編集するだけで、すぐ適用されると思ってください。
ちなみに、メールが送れたり送れなかったりするのは、all指定されているので、ipv4だったりipv6だったりどういうタイミングかわからないけど勝手に使い分けているので、ivp4固定にすればそういう問題も解決です。
Macで開発してて、ローカル環境にてウェブはMANPP とか XAMPPとかあって便利だけど最近のウェブアプリはメール送信したりけっこうあるよね。
Macにはpostfixってのが基本的には入ってて、起動はしてないけどpostfix startで起動できる。
(自動起動させる方法もあるけどまあ、開発のときだけstartすればいいので)
で、設定したんだけど、ぜんぜんメールできへん!って思って調べても、/var/log/maillogを見ればってある。そう、Linuxだとあたりまえのようにそれをみればすぐわかる。
でも、Sierraになってから(もう一つ前からかもしれないけど)/var/log/maillogが無い。どこにもない。ぜんぜんない。syslogだと/var/log/maillogを用意しておいてあげる必要があるとおもって、
touch /var/log/maillog
としても、ファイルに追記されない。
どーにもこーにもできずに数日経過。
もう一度検索したら見つかった。
MaOS Sierra postfix doesn't write log
https://discussions.apple.com/thread/7691357?start=0&tstart=0
log stream --predicate '(process == "smtpd") || (process == "smtp")' --info
これを起動させておくとsmtpd、smtpdの情報が取れる。なんなら
log stream --predicate '(process == "smtpd") || (process == "smtp")' --info > /var/log/maillog
こうすればmaillogできるけど、まあ、Windowを2つ開いてやればええな。
ということで、すぐさま、設定ファイルの一部が間違っているのがわかって修正して無事起動しましたとさ。
エラーログって大事ですね。大事ですね。