@ Tips

GmailのSMTPサーバを使ってメールを送信する

ローカルでフォームメールなどの動作確認テストを行う場合には、SMTP サーバ(メール送信サーバ) が必要です。

レンタルサーバなどの SMTP を利用する場面が多いと思いますが、Gmail の SMTP を利用することも可能です。

php.ini の編集

C:\pleiades\xampp\php\php.ini の 「sendmail_path」項目を以下のように編集します。これで sendmail.exe が使われるようになります。
※ファイルパスは、C:\pleiades\xampp を使用した場合の記述になっています。環境に合わせて置換えてください。

php.ini

;sendmail_path =
↓
sendmail_path = "C:\pleiades\xampp\sendmail\sendmail.exe -t"

sendmail.ini の編集

C:\pleiades\xampp\sendmail\sendmail.ini を以下のように編集します。

SMTP サーバには Gmail の SMTPを、auth_username auth_password には自分の Gmail アカウントのメールアドレスとパスワードを指定します。認証のために必要です。force_sender にもメールアドレスを指定します。

sendmail.ini

smtp_server=mail.mydomain.com
↓
smtp_server=smtp.gmail.com
smtp_port=25
↓
smtp_port=587
auth_username=
auth_password=
↓ 
auth_username=メールアドレス
auth_password=パスワード
force_sender=
↓
force_sender=メールアドレス

メール送信テスト

次のようなテストコードを書いて、メールの送信テストをします。

send-mail.php

<?php
$to = 'taro@gmail.com';
$subject = 'テスト SUBJECT';
$body = 'テスト BODY';

if (mb_send_mail($to, $subject, $body)) {
    echo '送信完了';
} else {
    echo '送信失敗';
}
?>

gmail のセキュリティでメールがブロックされる場合。

「安全性の低いアプリがアカウントにアクセスするのを許可する」機能をオンにすることで、ブロックを解除できます。

Google では、最新のセキュリティ基準に対応していないアプリや端末からのログインをブロックする場合があります。このようなアプリや端末からのアクセスは傍受されやすいため、ブロックすることでアカウントの安全性を保つことができます。

「安全性の低いアプリ」の設定手順は、次の通りです。

  1. Gmail にログインする。
  2. 受信トレイに「ブロックされたログインについてご確認ください。」と通知が来ているので、[安全性の低いアプリへのアクセスを許可]をクリックして、「安全性の低いアプリ」の設定画面へアクセスする。
  3. [安全性の低いアプリのアクセス]を[オンにする]