おはこんばんちは。noshiです。
今回はXAMPPのsendmailを使ってGmailでメール送信するまでにやったことを備忘として残しておきます。
大まかな流れは以下のとおりです。
1 sendmail.iniの設定
私がインストールしたXAMPPにはsendmailのフォルダがなかったので、個別にsendmailをダウンロードしてインストールしました。
https://www.glob.com.au/sendmail/
zipファイルをダウンロードして解凍。解凍したフォルダの中身を確認すると、sendmail.iniがあります。このファイルを修正するので一応sendmail_bk.iniというファイル名でバックアップしておきました。
そして、sendmailのフォルダごと、XAMPPの直下に置きます。
さきほどのsendmail.iniのファイルをテキストエディタで開きます。
そして、以下の箇所を変更していきます。
・smtp_portは587に。
・auth_username & auth_passwordを入力。ここはメール送信元のメールアドレス&パスワードとなります。
・force_senderは送信元のメールアドレスに。
sendmail.iniの設定は以上です。
2 php.iniの設定
php.iniをテキストエディタで開きます。これも一応php_bk.iniとかでバックアップしておきました。
これがデフォルトのものです。
上の画像を下のように変更します。
変更した点は、一番下のsendmail_pathのところだけです。
sendmail.exeまでのpathを書いて、「-t」「-i」のオプションを設定します。
pathは環境によって異なりますので、環境に合わせてください。
php.iniの設定は以上です。
ここまで設定したら、XAMPP Control Panel で Apache の再起動しておきます。
3 メール送信用の簡易プログラムの実行
ここで以下のような簡易メール送信プログラムで実行してみました。
これをtestmail.phpとかにして、htdocs内に保存して、ブラウザから直接アクセスします。test@gmail.comのところは、テストで適当にしていますが、ここは私が送信したいメールアドレスを設定しました。
私の場合は、送信失敗でした・・・。
エラーログを見ると、どうやら認証で失敗しているようです。
Googleアカウントのセキュリティ設定で引っかかっているようでしたので、安全性の低いアプリのアクセスを有効にしてみました。ちなみになんですが、二段階認証をしていると、Googleアカウントの設定のところで、安全性の低いアプリのアクセスという表示は出ませんでしたので、二段階認証を無しにしたら、この表示が出たので、二段階認証はオフにする必要がありそうです。
その後、再度、さきほどのメール送信プログラムを実行しましたところ、無事送信できました。
今回はXAMPPにsendmailが無かったので、個別に入れる方法が分からず困りましたが、なんとか送信できてよかったです。
今回は以上となります。最後までありがとうございました。