XAMPPでメール送信

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)';
}

メールがきちんと送信できていれば設定完了です。