如何設定SendGrid SMTP發信?使用網域驗證才是終極方法

傑哥
how to set smtp domain authentication

一個網站如果沒有正確的發信機制,將無法運作,並暗藏許多危險。若以WordPress製作網站,需要安裝SMTP外掛,並正確設定後,才會具備發信功能。但許多人卡在不知如何正確設定SMTP,本文示範如何以SendGrid為寄件者,並以「驗證網域」的方式驗證寄件者,以增加郵件的可信度。

為了防止濫發郵件,即使透過SendGrid第三方郵件服務發信,也需要先驗證發信者的資料,才可以使用SendGrid的API發信。而驗證資料的方式有二種:(一)以郵件驗證寄件人;(二)以網域驗證寄件人。

之前的文章有講過,如何以郵件的方式驗證,這也是大多數人採用的方法。但最佳的方式應是以網域驗證寄件人。以下分別說明。

以郵件驗證寄件者

在SendGrid的官方文件指出,以郵件驗證寄件者是一種「快速開始發送郵件」的方法,但僅推薦用於測試環境。

以郵件驗證的過程,是輸入寄件者的電子郵件後,SendGrid會寄出認證信,只要點擊信中的連結,即完成郵件驗證。

在SendGrid選擇驗證單一郵件
在SendGrid選擇驗證單一郵件
SendGrid寄出認證信,以驗證郵件
SendGrid寄出認證信,以驗證郵件
SendGrid郵件驗證成功畫面
SendGrid郵件驗證成功畫面

經過郵件驗證後,基本上已經能透過SendGrid寄信了,也有許多人使用這種方法通過驗證後,就一直持續使用,也不會有太大的問題。

在SendGrid中已驗證的郵件畫面
在SendGrid中已驗證的郵件畫面

收件人會看到什麼?

寄件人若僅有郵件驗證,收信者收到郵件後,會顯示寄件者是「透過sendgrid.net」發送的附加訊息。如此標示,有時會有點讓收件者感到困惑,並且質疑郵件的可信度。

僅有郵件驗證,收信後會顯示「透過sendgrid.net」字樣
僅有郵件驗證,收信後會顯示「透過sendgrid.net」字樣

以網域驗證寄信者(推薦)

若以網域驗證寄件人,則發出郵件被視為垃圾郵件的機率將降低,並提高了郵件的信譽。若您經營的網站需要經常或大量寄送郵件,那麼推薦最好要使用網域驗證的方式。

在SendGrid中,選擇驗證網域
在SendGrid中,選擇驗證網域

收件人會看到什麼?

經過網域驗證,則收件者收到郵件後,顯示的寄件人,就是自己的網域和寄件者。不會再出現「透過sendgrid.net」發送的字樣。

jclassroom 20221016 018 1
網域驗證後的郵件寄件者是自己網域,並且不會出現「透過Sendgrid.net」字樣

網域驗證的3個好處

網域驗證的方法,使SendGrid有權代表您的網域發送郵件。

雖然從收件者的角度來看,只是一些細微的變化,但仍有以下3個好處:

  1. 驗證網域後的寄件者,將增強其網域聲譽
  2. 對於類似SendGrid的第三方郵件服務商來說,經過網域驗證的郵件,等於是驗證了網域擁有者就是發信者,使送達率大幅增加
  3. 可明確地向收件者顯示寄件者是「同網域」的郵件,可信度高。收件者較不會標示為垃圾郵件。

如何設定SendGrid的網域驗證

要驗證網域,並授予SendGrid權限,需要在網域的DNS設定3個CNAME指向。

在SendGrid面板中,選擇SettingsSender Authentication

Domain Authentication(網域驗證)中,點擊Authenticate Your Domain

在SendGrid中驗證網域過程1
在SendGrid中驗證網域過程1

接下來,會看到選擇DNS的廠商,我們選擇最後一個其他(Other Host),輸入Gandi,點擊下一步。

在SendGrid中驗證網域過程2
在SendGrid中驗證網域過程2

輸入根網域名稱。不要包含www或http://www

例如:發送郵件的寄件者是 service@cmsart.net,則將驗證的網域就輸入cmsart.net

在SendGrid中驗證網域過程3
在SendGrid中驗證網域過程3

接著,按畫面指示,需要在你的DNS主機上設定3條CNAME記錄。

它的意義就是使用自己的網域名稱當作sendgrid.net的別名;另外,也一併驗證此網域由你控制的。

在SendGrid中驗證網域過程4
在SendGrid中驗證網域過程4

這可能是大家最容易卡關的地方,傑哥以Gandi為例,來示範如何設定CNAME。

首先登入Gandi管理畫面,先決條件是網域的名稱伺服器是由Gandi管理的。切換到DNS紀錄,按新增記錄。

在Gendi中設定CNAME過程1
在Gendi中設定CNAME過程1

選擇紀錄的型態是CNAME,然後將SendGrid指定的第一組CNAME複製上去。記得主機名稱複製後,最後加上一個英文的句點「.」,然後按「建立」鈕。例如:

u11918528.wl029.sendgrid.net

要改為:

u11918528.wl029.sendgrid.net.

在Gendi中設定CNAME過程2
在Gendi中設定CNAME過程2

接下來,再新增2個CNAME,一模一樣地複製上去,也是在主機名稱後面多加個點。

在Gendi中設定CNAME過程3
在Gendi中設定CNAME過程3

檢查一下DNS記錄,我們可以確認一下剛剛新增的CNAME都有成功增加了。

在Gendi中設定CNAME過程4
在Gendi中設定CNAME過程4

如何增加CNAME,或許在每個DNS管理商,會有不同的介面,但其方法都是大同小異。

CNAME設定完畢後,在SendGrid按完成驗證,則會顯示這個網域已經驗證過關了。

設定CNAME完成後,在SendGrid中按驗證鈕
設定CNAME完成後,在SendGrid中按驗證鈕
SendGrid驗證網域成功
SendGrid驗證網域成功

取得SendGrid API key

以上的設定完成後,就可以在SendGrid的SettingsAPI Keys,建立一個新的API 密鑰。將密鑰複製起來,存放在安全的地方。

產生新的密鑰,供SMTP使用
產生新的密鑰,供SMTP使用

然後只要安裝SMTP外掛,就可以很快地完成網站的寄件機制。請參看之前的文章「如何設定WordPress的SMTP?推薦免費的YaySMTP外掛」。

在Yaysmtp外掛中,設定使用Sendgrid寄信
在Yaysmtp外掛中,設定使用Sendgrid寄信

WordPress網站需要另安裝SMTP外掛,並設定正確後,才能正常發信。例如:忘記密碼、網站升級、連絡表單通知、訂單通知…等,都需要通過SMTP才能發送信件。

以上都設定完畢後,可以在Yaysmtp外掛中,發送一下測試信。如果能收到,而且寄件者是自己的網域,則表示已經設定成功了!

在Yaysmtp外掛發送測試信
在Yaysmtp外掛發送測試信
jclassroom 20221016 018
寄件者為自己的網域,並且不再顯示「透過sendgrid.net」字樣

結論:使用網域驗證SendGrid發信者

網域驗證雖然乍看之下與郵件驗證的差異不大,但它關係到收件者的感受,並且能直接提升網域發信的可信度與信譽。並且只需設定一次,就能解決發信機制與可信度的問題。

傑哥認為網域驗證SMTP對於網站的經營者非常重要!如果您有電子商務、聯絡表單、電子報等網站的功能,一定要使用網域驗證的方式來發信。若有任何問題,也歡迎填寫諮詢表單

留下第一則留言

內容目錄

訂閱電子報