mac MAMP から メール送信

macには、デフォルトでメール転送エージェント(MTA)である、Postfixがインストールされているが、
MAMPにインストールしたWordPressのプラグインなどから、メールを送信する際には、少し設定が必要となる。

また、ここではsmtpにGMailを使用する

設定

/private/etc/postfix/main.cfを編集する。

sudo vi /private/etc/postfix/main.cf

ファイルを開いたら、一番下に以下を記述

# gmail setting ==================================================
myorigin = gmail.com
myhostname = smtp.gmail.com
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/private/etc/postfix/gmail_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
inet_protocols = all
smtp_use_tls = yes
smtp_tls_security_level = encrypt
tls_random_source = dev:/dev/urandom
# ================================================================

gmailパスワードを作成する

※ gmailパスワードをあらかじめ2段階認証にしておく必要があります。

以下から、アプリパスワードを設定する。
アプリパスワード

  • [アプリを選択] から [メール] を選択
  • [端末を選択] から [Mac] を選択

[生成] をクリックする

上記、パスワードをメモしておく。

gmailパスワードを設定する

作成したgmailのアプリパスワードを設定したファイルを作成する
作成するファイルは、/private/etc/postfix/main.cfに追記した、
smtp_sasl_password_mapsのファイル名にすること

sudo vim /private/etc/postfix/gmail_passwd

以下のように記載

[smtp.gmail.com]:587 メールアドレス@gmail.com:アプリパスワード

アプリパスワードは空白を開けずに続けて記載してOK

パスワードファイルの作成が完了したら、mapデータベースを更新する。

sudo postmap /private/etc/postfix/gmail_passwd

gmail_passwd.dbが作成されているか確認

ll /private/etc/postfix/ | grep gmail

gmail_passwd.dbが表示されればOK

メールを送信してみる

postfixの停止(すでに起動している場合のみ)、起動

# 停止
sudo postfix stop

# 起動
sudo postfix start

テストメールを送信

date | mail -s test [あなたのメールアドレス]

メールが受信できれば、成功

番外 postfixのログファイルがない場合

上記でメールが送信できない場合は、なぜ送信できないのか、探る必要があるが、
自分の環境下では、/var/log/mail.logがなかった。
そのため、コンソールにメールログを出力して確認をした。

log stream --predicate '(process == "smtpd") || (process == "smtp")' --info

上記コマンドを実行すると、ターミナルが待ち状態になり、mailコマンドを実行する度に、画面にログが吐かれる。


2017-6-28

コメントを残す