2017-10-27PHPを使ってメールの送信をしてみたい。サーバを借りていないので、調べたやり方ではエラーが出る。自分のgmailを使って送信するようにしたい人のためにXAMPPを使って外部メールサーバ(今回はgmail)からメールを送るための設定方法とメール送信のテストまでをやってみたいと思います。以下、XAMPPのフォルダが「C:\xampp」にある前提での説明となります。今回編集するのは2つのファイル、C:\xampp\php\php.iniC:\xampp\sendmail\sendmail.iniになります。メール送信の確認php.iniの設定まずは「C:\xampp\php\php.ini」からです。function]と書かれている場所です。function」等で検索すれば場所がわかると思います。修正する個所は以下のようになっています。-t”」を指定します。sendmail.exeは「php」のフォルダと同列にある「sendmail」というフォルダの中にあります。私の環境ですと、以下のようになっています。修正後は以下のようになると思います。syslogこれでphp.iniの設定は終わりです。次に「C:\xampp\sendmail\sendmail.ini」を編集していきます。中は70行くらいで以下の内容になっています。requiredhostname=ここで、自分のgmailの設定をしていきます。編集するのは以下の5つです。smtp_serverメールサーバ名。今回はgmailなので「smtp.gmail.com」smtp_portメールの送信ポート。詳しい説明は省きますが迷惑メール対策などがあるため「587」を指定auth_username使いたい送信元のユーザ名。今回はgmailなのでユーザ名=メールアドレスのため、送信元のメールアドレスを指定。auth_password使いたい送信元のパスワードforce_sender使いたい送信元のメールアドレス例えば、使いたいgmailアドレスがtest-mail@gmail.comで、パスワードがpaswordであれば、smtp_server=smtp.gmail.comsmtp_port=587auth_username=test-mail@gmail.comauth_password=paswordforce_sender=test-mail@gmail.comとなります。以上で、sendmail.iniの設定は終わりになります。メール送信の確認では実際にメール送信が出来るかを確認していきます。上記の設定を反映させるためにApacheを再起動します。Apacheの再起動をしないと設定が反映されないので忘れず行ってください。XAMPPのコントロールパネル(起動した時のウィンドウ)でApacheを「Stop」して「Start」すればOKです。次にメール送信のプログラムを作ります。今回、プログラムの場所はhtdocsの中に「mail」というフォルダを作り、その中にtest.phpを作成します。(C:\xampp\htdocs\mail\test.php)以下のプログラムで、送信先を自分の試したいメールアドレスに変更してください。"これはテストメールです。"これはテストメールです。'失敗';}作成出来たら、プログラムを実行します。実行方法は、ブラウザからこのプログラムを開くだけです。同じフォルダ構造で作成していれば以下のリンクで実行できます。http://localhost/mail/test.php自分のgmailアカウントの設定次第では、失敗が出るかと思います。知らない場所から勝手にgmailを使いメールを送信させようとしているのでエラーが出ます。エラーは送り元のgmailにメールで届くと思います。アクセスを許可して試してみましょう。(一時的にではありますが、セキュリティを緩めるので脆弱性が高まります。自己責任でお願い致します。)ちなみに、ここまでできている場合は、PHP(XAMPP)から自分のgmailへのアクセスは出来ている証拠です。安全性の低いアプリの許可を有効にし、先ほどのプログラムを試してみましょう。タイムラグなどがあるため、それでも失敗する場合は少し時間を置いたり、何度か試してみましょう。成功と画面で確認出来ましたら、安全性の低いアプリの許可を無効に戻しておきましょう。以上で、XAMPPのローカル環境上でPHPを使って自分のgmailからメール送信の確認は終わりです。コメントをキャンセルメールアドレスが公開されることはありません。サイトご意見、ご感想をお願いします。