フォームの自動返信メールがGmailで迷惑メールに?
「届かない」問題を解決するSMTP設定ガイド
フォームからの自動返信メールが、Gmailだと「迷惑メール」に振り分けられたり、そもそも届かなかったりします。
これはGmailの強力なスパムフィルタが、サーバーからの自動送信メールを疑わしいと判断してしまうことが原因です。
この問題を回避するために、より信頼性の高いSMTP認証を利用したメール送信方法(「PHPMailer」を使用)に変更します。
この変更により、Gmailなどにメールが届かない問題が大幅に改善され、迷惑メールとして判定されるリスクも低減します。
このガイドで解説するSMTP設定は、あなたのサーバーを「信頼できる送信元」として認証させ、メールを確実にお客様の受信箱へ届けるための最も効果的な解決策です。
PHPMailerライブラリを準備する
メール送信の専門プログラム(ライブラリ)をダウンロードして、所定の場所に設置(アップロード)します。まずはダウンロードページでPHPMailerをダウンロードします。フリーソフトなので、無料でダウンロード・利用できます。
- PHPMailerをダウンロード
- 緑色の「Code」ボタンをクリックし、「Download ZIP」を選択してファイルをダウンロードします。
- ダウンロードしたZIPファイルを解凍します。
- `process.php`や`admin_form_fields.php`などがある場所(同じ断層)に、PHPMailerという名前の新しいフォルダを作成します。
- 解凍したフォルダの中にある`src`フォルダを開き、以下の3つのファイルをコピーして、先ほど作成したPHPMailerフォルダの中に貼り付けます。
- PHPMailer.php
- SMTP.php
- Exception.php
最終的に、以下のようなフォルダ構成になっていればOKです。
|-- PHPMailer/
| |-- Exception.php
| |-- PHPMailer.php
| |-- SMTP.php
|-- process.php
|-- config.php
|-- ... (その他のファイル)
設定ファイル(config.php)を編集する
次に、ダウンロードしたファイルの中にある`config.php`をメモ帳などのテキストエディタで開き、メールの接続情報を書き込みます。
ファイル内の以下の部分を探してください。
// ご利用のメールサーバーの情報を入力してください
define('SMTP_HOST', 'your_smtp_host');
define('SMTP_USER', 'your_email@example.com');
define('SMTP_PASS', 'your_password');
define('SMTP_PORT', 587);
define('SMTP_SECURE', 'tls');
この部分を、以下のようにご自身のメール情報に書き換えます。
// ご利用のメールサーバーの情報を入力してください
define('SMTP_HOST', 'あなたのサーバーのSMTPホスト名');
define('SMTP_USER', '自動返信の送信元となるメールアドレス');
define('SMTP_PASS', '上記メールアドレスのパスワード');
define('SMTP_PORT', ポート番号); // 一般的なポート: 587 (TLS), 465 (SSL)
define('SMTP_SECURE', '暗号化方式'); // 'tls' または 'ssl'
SMTP_HOST:メール送信に使うサーバーのホスト名です。これはメールを送るための「宛先の住所」のようなものです。たとえば、Gmailなら smtp.gmail.com、ロリポップ!レンタルサーバーなら smtp.lolipop.jpといった形式になります。
SMTP_USER:あなたのメールアドレスです。サーバーにログインしてメールを送信するために使います。
SMTP_PASS:あなたのメールアカウントのパスワード、またはアプリパスワードです。特にGmailなどの場合、セキュリティを強化するために、通常のログインパスワードとは別に「アプリパスワード」を設定することが推奨されています。
SMTP_PORT:メールサーバーに接続するためのポート番号です。ポートはサーバー上の「ドア」のようなもので、データがどの道を通って入るかを指定します。一般的に、TLS暗号化を使う場合は587、SSL暗号化を使う場合は465が使われます。
SMTP_SECURE:メール通信を安全にするための暗号化方式です。tls (Transport Layer Security) または ssl (Secure Sockets Layer) のどちらかを指定します。これにより、パスワードやメールの内容が通信中に盗み見られるのを防ぎます。
サーバーにアップロードして完了!
最後に、変更・追加したファイルをFTPソフト(FileZillaなど)を使って、サーバーにアップロードします。既存のファイルがある場合は、新しいファイルで上書きしてください。これですべての設定は完了です!
- 新しく作成した `PHPMailer` フォルダ(中のファイルもすべて)
- 編集した `config.php` ファイル
- 新しい `process.php` ファイル
お疲れ様でした!実際にフォームからテスト送信をして、メールがGmail経由で届くことを確認してみてください。
Gmailを自動返信の送信元メールに設定する場合の重要事項
-
Gmailの通常のログインパスワードは使えません!
セキュリティ強化のため、Googleは外部のアプリケーション(このフォームプログラムなど)からGmailを操作する際に、「アプリパスワード」という専用のパスワードを要求します。 -
アプリパスワードの取得方法:
1. Googleアカウントで「2段階認証プロセス」を有効にする必要があります。
2. 有効にした後、Googleのアプリパスワード生成ページにアクセスします。
3. 「アプリを選択」で「メール」、「デバイスを選択」で「その他(名前を入力)」を選び、分かりやすい名前(例: Myフォーム)を入力して「生成」をクリックします。
4. 表示された16桁のパスワード(例: abcd efgh ijkl mnop)を、`config.php`の`SMTP_PASS`部分にコピー&ペーストしてください。スペースは不要です。