こんにちは、mito(@mito_works)です。
PHPを使って制作をしている中で、お問い合わせフォームを作りたいということ、よくあると思います。
momo
設定をしないとローカル環境からはメール送信の確認はできないよ!
mito
設定ファイルをいじると、ローカル環境からでもメール送信テストが可能になります。
今回は、ローカル環境からメールを送信するための設定方法を確認します。
Contents
環境の確認
使うツール、サービス
- Mac
- MAMP
- Gmail
- Postfix
momo
Postfixとはメールを転送するソフトウェアのことだよ!Macではデフォルトでインストールされているよ!
mito
今回はこのPostfixの設定を変えることでローカルのMAMPからでもメール送信可能にしていきます。
設定手順
MAMPを止める
MAMPが立ち上がっている場合はMAMPをStopしてください。
Gmailのアプリパスワードを取得する
momo
アプリパスワードとは、安全性の低いアプリやデバイスにGoogleアカウントへアクセスを許可する16桁のパスコードだよ!
mito
つまりGmailはメールを送信する際に認証が必要になるということです。
- STEP1ブラウザでGoogleアカウント管理を開く
- STEP2左のタブのセキュリティーをクリックし、アプリパスワードをクリック
- STEP3アプリパスワードを生成するアプリとデバイスを選択し、生成ボタンクリック
- STEP4生成されたアプリパスワードをコピー
※閉じてしまうとパスワードは再表示されないので、開きっぱなしをオススメします。
万が一画面を閉じた場合は、アプリパスワードを一回削除してもう一回作り直しましょう。
momo
アプリパスワードが使えないエラーが出る人は、アカウントの2段階認証を行なっていないことが原因だと思うのでまずは2段階認証の設定をしてね!
Postfixの設定にgmail情報を追加する
修正ファイルは、以下のファイルパスにあるファイルです。
/private/etc/postfix/main.cf
- STEP1ファイダーからフォルダ移動で開く
ファイダーで、移動>フォルダへ移動し、表示されたウィンドウに/private/etc/postfix/と入力
- STEP2main.cfを開き以下のコードをファイルの最後に付け足し、ファイルを上書き
# Gmail on MAMP # 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
hash:/private/etc/postfix/アプリパスワード
↑ここには先ほど取得したアプリパスワードを入れます。(余白は不要です。)
mitoアクセス権を変更しなければ上書きできないと思うので、フォルダ名、ファイル名それぞれ右クリックし、「情報を見る」からダイアログ右下の鍵アイコンをクリック。「共有とアクセス権」の「読み出しのみ」を「読み/書き」に変更しましょう。
取得したアプリパスワードを記述するためのファイル作成
- STEP1新規ファイルを作成する
/private/etc/postfix/ の直下に新規ファイルを作成します。
ターミナルを立ち上げ、(「アプリケーション」→「ユーティリティ」→「ターミナル」)以下を入力します。
sudo vim /private/etc/postfix/アプリパスワード
momoアプリパスワードは先ほど生成したパスワードだよ! - STEP2新規ファイルの中身を編集
i
キーでINSERTモードにし、[smtp.gmail.com]:587 メールアドレス@gmail.com:アプリパスワード
こちらをコピペで入れます。メールアドレスは受信したいメールアドレス。アプリパスワードは生成したパスワードにおきかえます。
- STEP2編集を完了し、閉じる
Enter
キーを押し、wq
を押して終了します。mito/private/etc/postfix/にアプリパスワード名でファイルができています。 - STEP2データベース作成
ターミナルを起動します。
sudo postmap /private/etc/postfix/アプリパスワード
以下を実行します。
mito/private/etc/postfix/にアプリパスワード名.dbというファイルができています。
momo
ここまででPostfixの設定は終わりだよ
テストメールの送信
きちんと設定ができたか確認します。
ターミナルから、以下を実行します。
date | mail -s test 受信したいアドレス@gmail.com
送信日時が書かれたメールが届いたら設定はOKです。
momo
お疲れ様でした〜。
ABOUT ME