如何配置 WordPress SMTP 設置

無論您經營的是簡單的 WordPress 網站還是大型 WooCommerce 商店,您都需要可靠的電子郵件發送功能。在發送電子郵件方面,WordPress 有多個限制。

為確保您的交易電子郵件成功發送和交付,您需要正確設置 WordPress SMTP 設置。在本教程中,我們將教您如何操作並列出各種選項。

為什麼需要在 WordPress 中設置 SMTP?

WordPress 使用 PHP 郵件功能發送電子郵件,出於多種原因,這不是最佳選擇。

首先,默認電子郵件配置的功能非常有限——您無法輕鬆構建 HTML 模板、嵌入圖像或添加附件。

其次,PHPmail()缺少適當的電子郵件標頭。這就是為什麼一些網路主機停用 WordPress 郵件設置的原因。結果,電子郵件傳遞受到阻礙,此類電子郵件落入垃圾郵件文件夾,降低了域聲譽。

為提高電子郵件的送達率,建議使用簡單郵件傳輸協議 (SMTP) 發送電子郵件。與PHPmail()函數不同的是,SMTP伺服器需要一個header認證,支持SSL、TLS等安全機制。

一些 WordPress 主機可能已經為每個網站預配置了一個 SMTP 伺服器——但這更像是一個罕見的例外,而不是託管服務提供商的趨勢。

因此,您必須手動設置 SMTP。為此,您有兩個主要選擇:

  • 使用 PHPMailer 庫;
  • 藉助 WordPress 插件創建 SMTP 連接。

使用 PHPMailer 設置 WordPress SMTP

要使用 SMTP 從 WordPress 以編程方式發送電子郵件,您需要 PHPMailer 庫和一些編碼。

第一步是根據這些說明安裝作曲家。在 WordPress 安裝的根目錄中,創建一個 composer.json 文件。將以下代碼添加到 composer.json 文件以需要 PHPMailer 庫:

"phpmailer/phpmailer": "^6.7.1"

運行 composer install 命令來安裝庫。要指示 WordPress 需要 PHPMailer,您應該將以下代碼行添加到您的插件或主題文件中:

require_once( 'path/to/vendor/autoload.php' );

請記住:您應該替換path/to為 WordPress 安裝中供應商目錄的實際路徑。

以下腳本將配置 PHPMailer 設置以使用 SMTP 伺服器從本地主機發送帶有附件的 HTML 電子郵件。

<?php
//Import PHPMailer classes into the global namespace
//These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
//Load Composer's autoloader
require 'vendor/autoload.php';
//Create an instance; passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'your_SMTP_host'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'your_SMTP_username'; //SMTP username
$mail->Password = 'your_SMTP_password'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
//Recipients
$mail->setFrom('from@yourdomain.com', 'Mailer');
$mail->addAddress('john.doe@example.com', 'Recipient'); //Add a recipient
$mail->addAddress('kate.doe@example.com'); //Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('oliver.doe@example.com');
$mail->addBCC('jason.doe@example.com');
//Attachments
$mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
//Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'You』re Awesome';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

如何使用 WP Mail SMTP 插件設置 WordPress SMTP 電子郵件設置

可以在沒有 PHPMailer 的情況下設置 WordPress SMTP。在那種情況下,我們需要安裝一個 SMTP 插件。

市場上有多種選擇,但其中最受歡迎的是WPForms 的WP Mail SMTP。它有免費和付費版本,允許您集成您首選的 SMTP 提供商或選擇一個內置的電子郵件服務提供商。

WP Mail SMTP 和 PHP 郵件功能的區別在於 PHPmail()使用本地郵件伺服器,而插件用於配置 PHP 郵件以使用 SMTP 伺服器。

可以通過三種方式將 WP Mail SMTP 連接到您的 WordPress 網站:

  • 插件精英版提供的白手套設置;
  • 使用第三方 SMTP 伺服器集成;
  • 使用第三方 API 進行集成。

白手套設置

WP Mail SMTP 為其精英用戶提供白手套設置服務。您將選擇首選的郵件發送者、發件人姓名和發件人地址,並為他們提供您站點的憑據。他們將為您配置插件設置,測試設置,並在一切準備就緒後與您聯繫。

要申請 White Glove Setup,請登錄您的 WP Mail SMTP 帳戶並找到「下載」選項卡。在那裡,您會在 Elite 許可詳細信息下找到「申請 White Glove 設置」。

WP-Mail-SMTP-Apply-for-white-glove-setup 來源:WP Mail SMTP

將彈出一個表格以收集必要的信息,例如您的網站憑據、首選郵件程序、您的託管服務提供商的 DNS 訪問許可權等。

WP-Mail-SMTP-White-glove-setup-application 來源:WP Mail SMTP

有關 White Glove Setup 的更多信息,請參見此處。

使用第三方 SMTP 伺服器進行集成

儘管前面的選項聽起來很簡單,但它有其局限性。它只允許您在推薦的郵件程序之間進行選擇:SendLayer、Sendinblue 和 SMTP.com。如果您想設置自定義 SMTP 伺服器或集成第三方電子郵件提供商,則必須完成手動設置。

在本節中,我們將專註於集成自定義 SMTP 伺服器。這可以是免費的 SMTP 伺服器或 SMTP 服務,例如Mailtrap Email Sending。它是一種電子郵件基礎設施,可以及時將電子郵件發送到收件人的收件箱。

通過電子郵件發送,您可以通過送達率警報監控送達率。每周一提供每周報告,以便快速查看重要的電子郵件統計信息。如果發生意外發送問題,嚴重警報將立即通知您。然後您可以訪問可操作的分析,以便輕鬆快速地進行故障排除。電子郵件發送有兩種解決方案:API 和 SMTP 服務。

要將電子郵件發送與您的 WordPress 網站、電子商務商店或 Contact Form 7 連接,您首先需要創建一個帳戶並使用 SPF、DKIM 和 DMARC 身份驗證協議驗證您的域(可在此處獲得分步說明)。

帳戶準備就緒後,選擇「發送域」類別並轉到「API 和 SMTP」選項卡。選擇 SMTP 並保存這些憑據。

Mailtrap-Email-API-API-and-SMTP-integration-with-SMTP-selected-2

現在返回您的 WordPress 儀錶板並找到「插件」部分。按「添加新」並在搜索框中鍵入「WP Mail SMTP」。安裝插件並激活它,然後直接進入設置頁面。

WP-Mail-SMTP-plugin-2

在「常規」選項卡下,第一部分是「許可證」,它允許您連接您的付費帳戶,無論是專業版、精英版還是其他級別。只需粘貼許可證密鑰並按「連接」。如果您使用的是免費版本,則可以跳過此步驟。

然後您必須指明發件人姓名和發件人電子郵件。在這裡,您應該輸入您希望在電子郵件中顯示的名稱以及將用於外發電子郵件的電子郵件地址。這將是本教程前一部分中包含已驗證域的電子郵件。

注意:根據提供商的不同,此步驟此時可能會顯示為灰色。如果是這樣,請集成下面的郵件程序,稍後再返回此步驟。 

WordPress-SMTP-Settings-From-Name-and-From-Address

您還可以配置返迴路徑以匹配發件人地址。這樣,退回的電子郵件將返回到發件人的電子郵件地址。如果您不希望發件人電子郵件與返迴路徑相同,請取消選中該框。

現在您必須向下滾動並選擇「其他 SMTP」作為您的郵件程序。在這裡,您需要從 Mailtrap 帳戶複製的憑據:

  • SMTP 主機:send.smtp.mailtrap.io
  • 加密:無、SSL 或 TLS(出於安全原因,我們建議選擇 SSL 或 TLS)
  • SMTP 埠:465(用於 SSL)和 587(用於 TLS)
  • SMTP 身份驗證:打開或關閉(始終打開)
  • SMTP 用戶名:api
  • SMTP 密碼:您從帳戶複製的 SMTP 密碼(為了額外的安全措施,您可以將密碼存儲在 wp-config.php 文件中。有關 wp-config.php 的更多信息,請參閱這些說明)。

Mailtrap-Email-API-integration-with-WP-Mail-SMTP-plugin-1-2

單擊「保存設置」,您的郵件將被保存。為確保一切設置正確,請導航至「電子郵件測試」選項卡,打開或關閉 HTML,輸入所需的電子郵件地址,然後按「發送電子郵件」。

WP-Mail-SMTP-Test-Email-1

當電子郵件到達您的收件箱時,返回您的電子郵件發送帳戶並在「API 和 SMTP」選項卡中按「驗證設置」。

Mailtrap-Verify-Your-Setup-1 立即嘗試 Mailtrap 電子郵件發送

使用第三方 API 集成

最後,您可以集成第三方 API 以使用 WP Mail SMTP。

免費版本允許用戶連接 SendLayer、SMTP.com、SendinBlue、Mailgun、SendGrid、Gmail(免費 Gmail SMTP 和 Google Workspace)、Postmark 和 SparkPost 等郵件程序。

專業版還包括 Amazon SES、Zoho Mail 和 Office 365/Microsoft Outlook。

要連接這些郵件程序,首先,您需要下載插件並按照我們上面列出的說明進行操作。然後,您可以從 WP Mail SMTP 設置頁面連接郵件程序或啟動設置嚮導。當然,您應該擁有寄件人的工作帳戶才能開始使用。

您需要提供 API 密鑰和域名等憑據,然後輸入發件人姓名和發件人電子郵件。對於某些郵件程序,您可能需要定義 API 端點的區域。查看您的寄件人文檔以獲取更多信息。

除 Gmail 外,所有郵件程序的說明都是相似的。如果您使用的是 Gmail 或 Google Workspace 電子郵件帳戶,則需要生成客戶端 ID 和應用密碼。有關詳細信息,請參閱我們的WordPress Gmail SMTP博客文章。 

需要考慮的更多 WordPress SMTP 插件

WP Mail SMTP 並不是唯一允許您調整 WordPress 網站電子郵件伺服器設置的插件。事實上,有數百個。你如何選擇合適的?檢查以下詳細信息:

  • 活動安裝數量;
  • 與最新 WordPress 版本的兼容性/測試;
  • 維護和更新的頻率;
  • 評論。

例如,WP SMTP Config插件沒有針對最新的三個 WordPress 更新進行測試,並且已經 4 年沒有更新了。這意味著不再維護或支持此插件。選擇這樣的選項不是最好的主意。

我們根據用戶的評論挑選了三個可以正常使用的流行插件,並定期更新和測試。

簡單的 WP SMTP

Easy WP SMTP 是一個為 WordPress 配置 SMTP 的簡單插件。它使用 PHPMailer 庫。其功能包括:

  • 與 Gmail、Yahoo 和 Hotmail SMTP 以及 SMTP 中繼服務集成
  • 調試和記錄
  • 自定義電子郵件標頭
  • 使用附加組件導出和導入 SMTP 設置。

調整 Easy WP SMTP 設置相當容易,因為它類似於 WP Mail SMTP。

Easy-WP-SMTP-settings

發布 SMTP 郵件程序/電子郵件日誌

Post SMTP Mailer/Email Log 利用 Zend_Mail 並且除了 SMTP 伺服器設置之外還提供以下功能:

  • 電子郵件記錄
  • 自定義電子郵件標頭以及抄送和密送
  • Gmail、Hotmail 和 Yahoo 的 OAuth 2.0 身份驗證
  • 對 Gmail、Mailgun、Mandrill、Sendgrid、Sendinblue、Postmark 和 SparkPost 的 API 支持
  • 可以發送到管理員電子郵件或 Slack 的電子郵件失敗通知。

Post-SMTP-plugin-settings

冰淇淋快遞

Icegram Express(以前稱為 Email Subscribers & Newsletters)不僅僅是一個 SMTP 插件——它還是一個電子郵件營銷工具。它自動從您的 WordPress 網站發送時事通訊和管理訂閱者。該插件使您能夠設置郵件程序或使用其他已配置的 SMTP 插件。

主要能力包括:

  • HTML 編輯器
  • 廣播發送
  • 電子郵件調度
  • 訂閱箱
  • 發送電子郵件報告
  • 支持本地化和國際化
  • 用戶訪問控制

Icegram-Express-plugin-settings

注意:自定義 SMTP 和其他郵件程序僅適用於付費訂閱。 

如何使用 Mailtrap 通過 SMTP 測試電子郵件

現在您的郵件程序已設置好,是時候測試電子郵件了。這不僅對於確保 SMTP 連接正確運行至關重要,而且對於驗證 HTML/CSS 和檢查垃圾郵件分數也很重要。您可以使用Mailtrap 電子郵件測試來完成所有這些工作。

電子郵件測試是一個電子郵件沙箱,允許您在安全的開發和 QA 環境中檢查和調試電子郵件,而不會向用戶發送垃圾郵件。它使開發人員能夠使用靈活的 API 自動化測試流程、檢查電子郵件標頭、檢查 HTML/CSS 並獲得詳細的垃圾郵件分析。

3eNnz1PULZMkWH9_Ju5u5jdpTOjkujXHnjlM9LoD1M041XdYvclQA4K01GDX2idWyJLFuSJDtn-TjFQYCKIcC3p7AY-nlKFF38u4XImkvb3-ZbTlARexJ7St11b6KXcdEJwXCszS2X3avdl_9RocTGPKYXE0Tmkj9sLBdWTZ4Jw_FaUu-2dRKvbI5h8FMA

電子郵件測試可以使用 PHPMailer 庫或 SMTP 憑證與您的 WordPress 網站集成。

登錄您的Mailtrap 帳戶並導航到「沙盒」選項卡。進入默認創建的「我的收件箱」,找到「SMTP 設置」選項卡。在「集成」下,從下拉菜單中選擇 PHPMailer。使用您的憑據複製生成的代碼並將其粘貼到您的 PHPMailer 腳本中:

$phpmailer = new PHPMailer();
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.mailtrap.io';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 2525;
$phpmailer->Username = 'hb76m953410544';
$phpmailer->Password = 'j368826db440q3';

如果您使用的是 SMTP 插件,請將其配置為使用電子郵件測試憑據。要查看它們,請按「SMTP 設置」下的「顯示憑據」。複製這些憑據並將它們粘貼到插件的設置中。

Mailtrap-Email-Sandbox-SMTP-Integration-dummy-screenshot-3

電子郵件發送和電子郵件測試都是Mailtrap 電子郵件傳送平台的一部分。這意味著您可以在一個地方測試、發送和控制您的電子郵件基礎設施。

相關文章