ここでは、PHP SMTP を使用してスパム フォルダーに分類されずに電子メールを送信する方法の段階的な例を示します。
PHPMailer ライブラリを使用します。これにより、SMTP 経由での電子メールの送信が簡素化され、到達性の向上に役立ちます。これらの手順に従って、電子メールがスパム フォルダーに入るのを避けるために SMTP を適切に構成する方法を学びます。
まず、PHPMailer ライブラリをインストールする必要があります。これは Composer を使用して行うことができます。
composer require phpmailer/phpmailer
Composer をお持ちでない場合は、GitHub から PHPMailer を手動でダウンロードして、プロジェクトに含めることができます。
SMTP で PHPMailer を使用して電子メールを送信するためのスクリプトを記述する新しいファイル send_email.php を作成します。
<?php // Load Composer's autoloader if using Composer require 'vendor/autoload.php'; // Import PHPMailer classes into the global namespace use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; $mail = new PHPMailer(true); try { //Server settings $mail->isSMTP(); // Use SMTP $mail->Host = 'smtp.example.com'; // Set the SMTP server (use your SMTP provider) $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'your_email@example.com'; // SMTP username $mail->Password = 'your_password'; // SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to (587 is common for TLS) //Recipients $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress('recipient@example.com', 'Recipient Name'); // Add recipient $mail->addReplyTo('reply_to@example.com', 'Reply Address'); // Add a reply-to address // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Test Email Subject'; $mail->Body = 'This is a <b>test email</b> sent using PHPMailer and SMTP.'; $mail->AltBody = 'This is a plain-text version of the email for non-HTML email clients.'; // Send the email $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; }
PHPMailer の初期化:
SMTP サーバー構成:
送信者と受信者の設定:
メールコンテンツの設定:
メールの送信:
メールがスパム フォルダーに送られるのを避けるには、次のベスト プラクティスに従うことが重要です。
信頼できる SMTP プロバイダーを使用します:
Gmail、SendGrid、Mailgun などの信頼できる SMTP プロバイダーを使用すると、スパムとしてフラグが立てられる可能性が低くなるため、配信率が向上します。
ドメインを認証する:
SPF (送信者ポリシー フレームワーク)、DKIM (DomainKeys Identified Mail)、および DMARC (ドメインベースのメッセージ認証、レポートおよび適合性) レコードをセットアップします。ドメインを使用してメールの正当性を確認します。
スパムコンテンツを避ける:
電子メールの内容がクリーンであり、スパムとしてフラグが設定されていないことを確認してください。すべて大文字、スパム的な単語 (「無料」、「勝者」など) の過度の使用、リンクの多すぎは避けてください。
プレーンテキストの代替を使用する:
メールのプレーンテキスト バージョン ($mail->AltBody) を必ず含めてください。一部の電子メール クライアントは、HTML のみの電子メールに不審なフラグを立てます。
送信者として無料の電子メール サービスを避ける:
スパムとしてフラグ付けされるのを避けるために、Gmail、Yahoo などの無料サービスではなく、独自のドメインの専門的な電子メール アドレスを使用してください。
メールごとの受信者数を制限する:
一括メールを送信する場合は、スパムのフラグが立てられるのを避けるために、1 つのメッセージで多数の受信者に送信するのではなく、適切な一括メール サービスを使用してください。
send_email.php ファイルをサーバーにアップロードし、ブラウザまたはコマンドラインを通じて実行します。
php send_email.php
設定が正しい場合は、次のメッセージが表示されます:
Message has been sent
If there’s an error, it will display:
Message could not be sent. Mailer Error: {Error Message}
By using PHPMailer and a proper SMTP setup, you can ensure your emails are sent reliably and with a lower chance of landing in the spam folder. Here's a quick summary:
This approach ensures better deliverability and reduces the chances of your emails being marked as spam.
Feel free to follow me:
Atas ialah kandungan terperinci Hantar E-mel Dengan Selamat dengan PHP: Panduan Menggunakan SMTP untuk E-mel Bebas Spam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!