【MAMP】macのlocalhostでgmail送信
MAMPでlocal環境作成して開発した時に、
「PHPプログラム内にメール送信の機能がある場合、実際にメール送信ができない、、、」
そこで、gmailのsmtpを使用して localでもメール送信できるように設定する方法を紹介します。
MAMPでlocal環境構築は下記が参考になると思います。
1. /private/etc/postfix/main.cf の最終行に下記を記載
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/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
inet_protocols = all
smtp_use_tls = yes
smtp_tls_security_level = encrypt
2. gmail でアプリパスワードを作成
参考:
*まず、smtpとして使いたいgmailアドレスの設定画面で「セキュリティ」を選択
*2段階認証プロセスをオンに変更
*「メール」「Mac」を選択して「生成」をクリック
*赤い部分に表示されたパスワードを記録する!(あとで使用します)
3. 下記のように、作成したアプリパスワードを/private/etc/postfix/sasl_passwd に記載
4. postmapコマンド実行し、/private/etc/postfix/sasl_passwd.db を生成
sudo postmap /private/etc/postfix/sasl_passwd
上記コマンド実行で、sasl_passwd.dbが生成されます。念のためlsコマンドなどで、
/private/etc/postfix/直下にsasl_passwd.dbが存在していることを確認してください
5. postfix を開始
sudo postfix start
ちゃんとスタートしたかな?って時は、もう一度sudo postfix startを実行して
the Postfix mail system is already running
というメッセージが出ればOK
postfix とは?
https://wa3.i-3-i.info/word11136.html
postfix はmac にデフォルトで入っているので、他のMTA使うより手っ取り早いです
6. bash でメールコマンド実行し、メールが送信できるかテスト
date | mail -s test 任意のメール@gmail.com
→任意のメール@gmail.com宛に
From:メールアドレス@gmail.com(smtpとして使用するように2.で設定したもの)
からメールが来ていることを確認
これで終わりですーーーー!!
あとはプログラムに、送信元としてsmtpとして使用するように2.で設定したメールアドレスを記載すれば、送信できるようになります。
Windowsだと、どうするんだろう??
バーチャルボックス内のLinux環境内にpostfixをインストールするところからやらないとダメかもですね
おやすみなさいいいいい