#008
posted on 2020.12.29
MAMPでメール送信。
Macに元々インストールされているメール転送エージェント(MTA : Mail Transfer Agent)のPostfixでSMTP(Simple Mail Transfer Protocol)にGmailを使用して、MAMPのlocalhostからメールを送信。
- 事前にGoogleアカウントの2段階認証を設定。(必須)
- Gmailのアプリパスワードを発行。
- Postfixのファイル (/private/etc/postfix/main.cf) に記述追加。
- 記述追加したPostfixが読み込むGmailアドレスとアプリパスワードの設定ファイル作成。
- Postfixのデータベースを更新。
Gmailのアプリパスワードの発行
※ Gmailのアプリパスワードを発行するには、事前にGoogleアカウントの2段階認証の設定が必須。
- 「Googleアカウント管理ページ」 > 左メニュー「Security」 > 右カラム「Signing in to Google」 > 「2-Step Varification」をオンに設定する。
- 「Googleアカウント管理ページ」 > 左メニュー「Security」 > 右カラム「Signing in to Google」 > 「App passwords」にアクセスする。
- 下方にある「Select app」は「Mail」、「Select device」は「Mac」を選択して「GENERATE」でアプリパスワード発行。
- 表示されたアプリパスワードをメモ。
Postfixの設定
「起動ディスク」>「private」>「etc」>「postfix」>「main.cf」をテキストエディターかターミナルで開き、一番下に下記を追記。
#ローカルでgmailを使用できるようにする
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/任意のファイル名
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
smtp_sasl_password_mapsの行で指定したディレクトリ、ファイル名のファイルを新規作成。
Finderで直接ファイルを新規作成するか、ターミナルを開いて下記を実行。
sudo vim /private/etc/postfix/任意のファイル名
vimの編集状態で「I」キーでインサートモードにして、下記をコピペ。
※ アプリパスワードの空白は要らないので削除。
[smtp.gmail.com]:587 アカウント名@gmail.com:取得したアプリパスワード
作業が完了したら「esc」キーを押して、「:wq」でvim編集を終了させる。
mapデータベースを更新するために下記を実行。
sudo postmap /private/etc/postfix/作成したファイル名
指定のディレクトリに「作成したファイル名.db」のファイルが作成されていれば、下記でPostfixを再起動して作業完了。
sudo postfix reload
Postfixが走っていなければ下記を実行。
sudo postfix start
#停止はpostfix stop
テスト送信で動作確認
ターミナルで下記を実行してメール送信の動作確認をする。
date | mail -s test 受信したいメールアドレス
date : 現在時刻
mail : メール送信コマンド
-s : タイトル指定
(件名に「test」、本文に「現在時刻」でメール送信。)