fawindowsのローカル環境でテストメールを送る方法をご紹介します。
※Googleアプリパスワードが必要になるのでまだの方は先にアプリパスワードを作成してください
環境:windows10、PHP7.2.14(MAMP)
メールサーバーの仕組み
SMTPを理解しないと分かりにくいので簡単に説明していきます。
既に理解している方次の項目まで飛ばしてください。
メールサーバーって何をしているの?
メールサーバーとはその名の通り、メールを送受信する役割を担っています。
どんな流れでメールが送受信されるのか見ていきましょう。
①メールを送信する
②宛先を探す(DNSサーバー)
③受信側のサーバーへメールが届く
④受信者がサーバーからメールを受信する
このような流れで送受信が行われています。
メールサーバーの仕組みはよく郵便局に例えられることがあります!
①ポストに出す
②配送先を確認する
③配送先の郵便受けに投函
④メッセージを受け取る
こっちのほうが分かりやすいですね!
次はSMTP、POPについて説明していきたいと思います。
SMTPとは
送信に関する役割を担うのがSMTPサーバーです。SMTPサーバーはメールアドレスから宛先を探して相手のサーバーへメールを転送し、相手側のサーバーはそのメールを受け取ります。
【SMTP役割】
・メールを送信する
・メールを受信する
POPとは
メールサーバーにアクセスし、届いたメールを受信します。受信する際にユーザーIDとパスワードが正しいか確認し、認証できたらデータを取り出して端末に転送します。
【POP役割】
・メールを受信する
メールサーバーの説明は以上です。
それではfake sendmailを使ってwindows+PHP(MAMP)でメールを送信できるように設定していきます。
fake sendmailのダウンロード
fake sendmailとはSMTPサーバーにデータを渡すプログラムです。
リンクからfake sendmailをダウンロードしてください。fake sendmailのダウンロード
ダウンロードしたファイルは解凍してCドライブ直下に置きます。
ダウンロードし、ファイルを移動できたらSMTPの設定を行っていきます。
・php.ini
・sendmail.ini
上記2つのファイルを修正していきます。
php.iniの設定(mail function)
まず、php.iniの設定を行っていきます。
今回はGoogleのSMTPサーバーを使ってメールを送信するので、Googleのサーバー情報とアカウントを指定していきます。
#ファイルの場所:C:\MAMP\conf\php7.2.14\php.ini
SMTP = smtp.gmail.com
sendmail_from = 〇〇〇@gmail.com
sendmail_path = "\"C:\sendmail\sendmail.exe\" -t"
見つからない場合は[mail function]で検索すると見つけやすいです!
MAMPのPHPのバージョンに合わせてphp.iniを修正してください。
※MAMP起動後、Preferences>PHP>Standard Versionに記載があります。
SMTP:サーバーの指定
sendmail_from:送信元のメールアドレス
sendmail_path:sendmailのパスを指定(今回はCドライブ直下に置いたのでそこを指定する)
‐tはオプションでCC:やBCC:を使うことができるようになります。
sendmail.iniの設定
sendmail.iniのファイルを次のように修正してください。
sendmailがサーバーにアクセスするときに指定したアカウント情報とパスワードを使って確認していきます。
#ファイルの場所:C:\sendmail\sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
auth_username=〇〇〇@gmail.com
auth_password=アプリパスワード(16桁)
smtp_server:メールサーバー
smtp_port:メールサーバーのポート番号
auth_username:メールサーバーのユーザー名(Googleのメールアドレス)
auth_password:メールサーバーのパスワード(アプリパスワード)
これで設定は終わりです。
MAMPを再起動することでメールを送信できるようになります。!
wordpressでお問い合わせフォームを作成する方法はこちらの記事で紹介しています。