Maison >développement back-end >tutoriel php >Envoyez des e-mails en toute sécurité avec PHP : un guide d'utilisation de SMTP pour des e-mails sans spam
以下是如何使用 PHP SMTP 發送電子郵件而不進入垃圾郵件資料夾的逐步範例。
我們將使用 PHPMailer 庫,它簡化了透過 SMTP 發送電子郵件的過程,並有助於提高送達率。請按照以下步驟,您將了解如何正確設定 SMTP 以避免電子郵件進入垃圾郵件資料夾。
首先,您需要安裝 PHPMailer 函式庫。您可以使用 Composer 來完成此操作。
composer require phpmailer/phpmailer
如果您沒有 Composer,您可以從 GitHub 手動下載 PHPMailer 並將其包含在您的專案中。
建立一個新檔案 send_email.php,您將在其中編寫腳本以使用 PHPMailer 和 SMTP 發送電子郵件。
<?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(網域金鑰識別郵件)和DMARC(基於網域的郵件驗證、報告和一致性)記錄域來驗證您的電子郵件的合法性。
避免垃圾內容:
確保您的電子郵件內容乾淨且未被標記為垃圾郵件。避免過度使用全部大寫、垃圾字詞(如「免費」、「獲勝者」等)以及過多的連結。
使用純文字取代:
始終包含電子郵件的純文字版本 ($mail->AltBody)。一些電子郵件用戶端將純 HTML 電子郵件標記為可疑。
避免使用免費電子郵件服務作為寄件者:
使用您自己網域中的專業電子郵件地址,而不是 Gmail、Yahoo 等免費服務,以避免被標記為垃圾郵件。
限制每封電子郵件的收件者數量:
如果發送大量電子郵件,請使用適當的大量電子郵件服務,而不是在一封郵件中發送給多個收件人,以避免被標記為垃圾郵件。
將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:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!