XAMPPでメール送信
XAMPPは、デフォルトでは、メールを送信することはできません。 しかし、Yahoo!メールや Gmailなどの無料サービスを利用することでメールを送信することができるようになります。
XAMPPで構築したローカル環境下で、メールの動作確認などを行いたいときに便利です。
XAMPPで構築したローカル環境方法は、こちらを参考にしてください。
目次
xampp\php\php.ini
xampp\php\php.iniを開き、
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
の記載がある前の;
を削除します。
xampp\sendmail\sendmail.ini
xampp\sendmail\sendmail.iniを開き、利用するサービスに合わせて、設定を行ってください。
Gmailの場合
Gmailを使用してメールを送信する場合、以下のようにパラメータを設定してください。
smtp_server=smtp.gmail.com
smtp_port=587
auth_username=(Googleのメールアドレス)
auth_password=(Googleのパスワード)
Yahoo!メールの場合
Yahoo!メールを使用してメールを送信する場合、以下のようにパラメータを設定してください
smtp_server=smtp.mail.yahoo.co.jp
smtp_port=587
auth_username=(Yahooのユーザ名 「@yahoo.co.jp」は不要)
auth_password=(Yahooのパスワード)
Apacheの再起動
2つのファイルを編集後、設定を反映させるために、XAMPPのコントロールパネルからApacheを再起動してください。
Gmailアカウントの設定
Gmail経由でメールを送信する場合、上記で設定したGmailアカウントで安全性の低いアプリにアクセスし、「安全性の低いアプリの許可」を有効にしてください。有効にしないとメールを送信することができません。
動作確認
以下のスクリプトを記載したファイルを xampp\htdocsに設置し、メールを送信できるか確認してください。
<?php
$from = '(発信元のメールアドレス)';
$to = '(送信先のメールアドレス)';
$subject = '件名: テスト送信';
$message = <<< EOF
{$from}より。
こんにちは。
これはテスト送信です。
EOF;
if (mb_send_mail($to, $subject, $message, "From: {$from}")) {
echo '送信成功。';
} else {
echo '送信失敗。<br>エラーログを確認してください。 (xampp\sendmail\error.log)';
}
メールがきちんと送信できていれば設定完了です。