XAMPPを使ったローカル環境で、Yahoo!のsmtpを利用してメール送信をしようとしたところ、出来なくなっていました。検索したところ、そういう報告の記事が無かったので、私だけ?
そこで、レンタルサーバーのsmtpを使ってメール送信をすることにしました。同様にお困りの方の助けになれば。
1. php.ini の書き換え
まず私はXAMPPを、{D:\tools\xampp}にインストールしています。通常は、{C:\xampp}にインストールしていることが多いので、お間違い無いように。
xampp をインストールした配下にある、{php}の中のphp.ini を書き換えます。
{sendmail_path}という文字列を探してください。そこを、
1 |
sendmail_path = "\"D:\tools\xampp\sendmail\sendmail.exe\" -t" |
などと書き換えてください。通常は、
1 |
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" |
です。
php.ini の編集はこれで終了です。
2. sendmail.ini の書き換え
xampp配下にある、{sendmail}の中の sendmail.ini を書き換えます。
今回の設定は、エックスサーバーの設定に基づいています。
smtpの設定だけ抜粋すると、以下の通りです。
SMTPサーバー名 | sv***.xserver.jp |
---|---|
ユーザー名 | メールアドレス |
パスワード | 設定したパスワード |
ポート番号 | 587 |
これらの情報で、 sendmail.ini を書き換えます。
{smtp_server}を探して以下のように書き換えます。
1 |
smtp_server=sv111.xserver.jp |
{smtp_port}を探して、以下のように書き換えます。
1 |
smtp_port=587 |
{auth_username}と{auth_password}を探して、以下のように書き換えます。
1 2 |
auth_username=xxx@hoge.jp auth_password=yyy |
{force_sender}を探して、以下のように書き換えます。{auth_username}と同じメールアドレスを書き込んでください。
1 |
force_sender=xxx@hoge.jp |
最終的には、赤枠のところを書き換えた状態になります。
3.Apacheの再起動
これらの設定が終わったら、Apacheを再起動してください。再起動しないと、設定が反映されません。
あとがき
いかがでしたでしょうか。以外にすんなり設定できたと思います。
ローカル環境で、gmailもyahooもメール送信に使えない場合にお使いください。