WordPress 電子郵件和 SMTP

已發表: 2022-11-01

您是否遇到過從 WordPress 網站發送電子郵件的問題? 也許您聽說過使用 SMTP 服務來處理電子郵件以提高可靠性? 這一切似乎有點令人困惑!

如果您不確定電子郵件和 WordPress 是如何工作的,或者對這些有疑問,那麼您來對地方了。 在本文中,我們將了解 WordPress 如何“開箱即用”地處理電子郵件、潛在問題,以及最重要的是如何解決使用 WordPress 和電子郵件時可能遇到的問題。

我們走吧!

您什麼時候在 WordPress 中使用電子郵件?

首先,當我們談論使用電子郵件和 WordPress 時,我們並不是在討論配置您日常使用的“常規”電子郵件帳戶以從您的域發送電子郵件。 這是一個重要的區別。 如果您閱讀本文是因為您想知道如何為日常“常規”電子郵件設置自己的電子郵件系統,請查看我們的文章“Google vs Rackspace vs Microsoft – 哪個電子郵件提供商最好?” 這將為您提供一切所需的信息。

我們在本文中討論的電子郵件類型是從您的 WordPress 網站發送的電子郵件——通常是“事務性”電子郵件,可能包括密碼重置通知、登錄通知等內容。 這還包括當您使用流行的表單插件(如 Contact Form 7)在您的網站上配置表單時生成的電子郵件通知。您可以通過前往 WordPress 網站上的登錄屏幕並單擊“丟失密碼”來超級快速地檢查其中一個' 關聯。

理論上,您應該將密碼重置鏈接發送到您的電子郵件收件箱。 請注意,我們說的是“理論上”! 眾所周知,WordPress 中默認使用的電子郵件傳遞系統不可靠。 然而,完全責怪WordPress是不公平的。 圍繞 WordPress 默認電子郵件傳遞系統的許多問題在很大程度上依賴於底層服務器設置。 幾乎總是如此,更便宜的託管往往更成問題。

儘管可以可靠地指責託管導致 WordPress 電子郵件問題,但毫無疑問,WordPress 電子郵件系統的某些方面並不完美。

WordPress默認電子郵件傳遞的問題

WordPress 使用基於 PHP 郵件功能的 wp_mail 內置功能發送電子郵件,並允許您使用主機的標準郵件功能通過 WordPress 站點發送電子郵件。 它的實現很簡單,大多數開發人員使用這樣的東西不會有問題。

但是,該系統中存在一些眾所周知的缺陷,可能會導致一系列問題:

  • 無身份驗證/驗證:通過基本 PHP 郵件功能發送的電子郵件無需經過任何類型的身份驗證或驗證,而現在使用更複雜的系統發送的電子郵件通常會發生這種情況。 這可能會導致它們被收件人的電子郵件帳戶視為垃圾郵件或垃圾郵件。
  • 可能被劫持:電子郵件協議相對容易讓垃圾郵件發送者“劫持”並用於發送他們自己的垃圾郵件(有時數以萬計!)。 這種行為不僅會給您的服務器增加額外的負載(這樣做會降低您的網站速度),而且還會導致您的域被垃圾郵件過濾器標記。 這將損害使用您的域的任何電子郵件的可傳遞性(即使它是使用 Microsoft 等知名電子郵件提供商發送的)。

由於這些弱點,一些託管服務提供商將禁用 WordPress wp_mail 功能,這意味著您無法在不啟用第三方 SMTP 服務的情況下發送任何交易電子郵件。

什麼是 SMTP?

SMTP 代表簡單郵件傳輸協議,用於以更可靠的方式管理外發電子郵件。

與所有電子郵件協議一樣,它用於通過 Internet 從一個電子郵件帳戶向另一個帳戶發送電子郵件,它包含一組規則,可讓不同的電子郵件客戶端和帳戶輕鬆交換信息。

SMTP 服務器

您可能聽說過“SMTP”和“SMTP 服務器”這兩個詞可以互換使用。 SMTP 指的是協議,服務器只是用於運行實際進程的計算機。 像 Google 這樣的主要電子郵件提供商都有自己運行的 SMTP 服務器。

他們的工作是接受來自 SMTP 客戶端的消息,並在確保它們有效後將它們發送給客戶端。 這意味著您從您已獲准向您發送電子郵件的人那裡收到的大多數電子郵件都會經過檢查,以確保它們是合法的。

SMTP 是如何工作的?

讓我們快速了解一下 SMTP 服務器的實際工作原理:

  1. 當您發送電子郵件時,SMTP 客戶端(或發件人)會與 SMTP 服務器(使用端口 25)建立連接,以便使用適當的命令驗證和傳輸數據。
  2. 接下來,客戶端通過將 FROM: 和 TO: 郵件地址發送到服務器來啟動事務。 服務器會檢查這些地址是否合法,並回復相應的消息。
  3. 一旦地址被批准,SMTP 客戶端也會發送電子郵件內容,然後將其發送給收件人。

這一切都在幾毫秒內發生,並且在大多數情況下,發件人和收件人都沒有註意到。

SMTP 與其他電子郵件協議之間的差異

除了 SMTP,您可能還聽說過其他類型的電子郵件協議,即 POP 和 IMAP。

但是,POP 和 IMAP 都將電子郵件傳送限制在僅經過批准的服務器上。 它們不適合用於網絡間通信。 這就是 SMTP 有用的地方,因為它可以在未知郵件服務器之間“推送”電子郵件。

SMTP 和 WordPress

那麼,SMTP 與 WordPress 有什麼關係呢?

正如我們所見(您可能也親身經歷過),默認的 WordPress 郵件協議使用起來可能會出現問題。 幸運的是,通過利用合適的 SMTP 服務器,我們可以繞過 WordPress 中的這種內置電子郵件機制,並將其替換為更可靠的東西。 我們可以在 WordPress SMTP 郵件插件的幫助下做到這一點,該插件允許我們利用外部 ESP(電子郵件發送提供商)的服務來傳遞在您的 WordPress 網站上創建的傳出消息。

使用 Pressidium 託管您的網站

60 天退款保證

查看我們的計劃

當您需要向用戶、客戶、成員或訪問者發送電子郵件時,確保從您的 WordPress 網站發送的電子郵件可靠傳遞尤為重要。 雖然只有您使用該網站時,奇怪的密碼重置電子郵件最終進入垃圾郵件並不是一個問題,但您可以理解,對於諸如訂單確認電子郵件之類的東西最終進入客戶的垃圾郵件文件夾,這並不是一個很好的外觀。

開始使用 SMTP 和您的 WordPress 網站

為了利用使用 SMTP 服務器來處理 WordPress 網站上的事務性電子郵件的好處,您需要做兩件事。

  1. 一個 WordPress SMTP 插件
  2. SMTP 服務,例如 Mailgun 或 Gmail

WordPress SMTP 插件

使用單獨的 SMTP 服務器來處理交易電子郵件是比較常見的。 因此,有許多優秀的 SMTP 插件可供您選擇。 事實上太多了,我們在這裡寫不出來! 由於它們都大體上做同樣的事情,我們將只關註一個。 WP 郵件 SMTP 插件。

擁有 3+ 百萬次活躍安裝,很明顯這是一個流行的插件。 它使配置 SMTP 服務器變得超級簡單,有多種“開箱即用”的選擇可供選擇。

下載並安裝後,請按照設置嚮導進行操作。 該過程的第一步是選擇 SMTP 服務。 如您所見,您有很多選擇。 Mailgun 等服務通常是您需要付費的服務。 這些都是值得的(尤其是在您發送大量電子郵件的情況下),但是,如果您只有少量電子郵件通過您的網站(例如消息通知),那麼您可能需要選擇免費選項。 也許最熟悉的將是 Gmail。

如果您已經擁有 Gmail 帳戶,這是一個特別好的選擇,但請注意,這不一定是最簡單的!

選擇此選項後,您現在必須在您的 Google 帳戶中創建一個網絡應用程序。

配置 Google Web App 以通過 SMTP 發送電子郵件

首先,前往 Google Developers Console。 如果您登錄到您的 Google 帳戶,您應該可以立即訪問它。 創建一個新項目。 創建完成後,選擇工程打開。

在左側,點擊“啟用 API 和服務”

在新屏幕中,找到“Gmail API”並轉到其頁面以啟用它。

啟用後,使用右上角的 CREATE CREDENTIALS 按鈕進入憑據頁面。

在“憑據類型”中,您選擇 Gmail API 和用戶數據。 然後點擊下一步轉到“OAuth 同意屏幕”部分並填寫應用名稱、用戶電子郵件支持和開發人員聯繫信息。

保存並繼續到下一頁,這是關於 Gmail API 的“範圍”的。 您可以跳過此步驟,因為它是可選的(它可以幫助您在授權應用程序時控制對私有數據的訪問)。

第 4 步,“OAuth 客戶端 ID”適用於用於身份驗證和授權的 OAuth 2.0 協議。 在這裡,您應該從下拉菜單中選擇“Web 應用程序”作為應用程序類型,然後為您的 OAuth 2.0 客戶端設置一個名稱。

接下來是 Authorized JavaScript origins,它也是可選的。 在這裡,您可以輸入多個來源,以允許您的應用在不同的協議、域或子域上運行。 請記住,您不能使用通配符。

在授權重定向 URL 中,您可以設置用戶在通過 Google 身份驗證後將被重定向到的路徑。 路徑不能包含 URL 片段、相對路徑或通配符,也不能是公共 IP 地址。

完成這些設置後,點擊創建按鈕,您將看到創建了一個客戶端 ID。

有一個下載憑據的按鈕和一個完成該過程的完成按鈕。

完成 WordPress SMTP 設置

返回您的 WordPress 網站。 如果嚮導仍然打開,您需要輸入我們在 Google 控制台中生成的客戶端 ID、客戶端密碼和重定向 URI。

注意:如果需要,您可以重新打開嚮導,方法是轉到 WP Mail SMTP 菜單項,然後點擊“啟動設置嚮導”按鈕。

重新加載頁面後,單擊設置頁面底部的“允許插件使用您的 Google 帳戶發送電子郵件”按鈕。 您現在應該會收到確認您可以開始使用的確認信息。 對此進行測試,例如我在您的網站上使用消息表單。 您是否成功收到電子郵件?

請記住,如果您有一個處理大量交易電子郵件的大型網站(例如活動的 WooCommerce 網站),則不適合使用 Google SMTP 服務器,因為通過該服務器發送的電子郵件受到速率和數量的限制。 相反,您需要使用 Mailgun 之類的替代方案。

結論

希望您現在可以自行配置您的網站以使用 Gmail SMTP 服務器發送電子郵件或了解替代方案的選項。 實際上,除非您只需要密碼重置電子郵件之類的東西才能在您的網站上運行,否則您需要啟用某種描述的 SMTP 服務。 或者,您可以選擇已經代表您利用專用 SMTP 服務功能的主機(例如 Pressidium)。