rucifa

解決WordPress無法寄送郵件的窘況

我們在利用WordPress架設網站的時候,總會要填入相關信箱(不管是免費信箱或是付費信箱)

但是說真的,輸入了相關信箱時,這個信箱真的有作用嗎?

等等,這裡不是說信箱無用論,而是你是否真的可以使用信箱嗎?

就我個人使用到現在來講,答案是「No」的,不管是更改郵件地址還是其他動作,我們本來設定的郵件地址是都收不到任何信件的

為什麼會這樣?主要最大的原因就是承租主機端基本上都禁止使用防止濫發大量的垃圾郵件,雖然說有時候一篇信件可能就短短的,郵件大小也就那麼個幾KB,但如果在短時間內發送個幾萬封郵件時,那就是相當驚人的浪費頻寬(但對這些濫發郵件的人來說,垃圾郵件是最省錢的方式,只要有人真的購買服務的話就是賺錢),所以不管是網頁託管(WebHosting)或是虛擬專用服務器(Virtual private server,縮寫為VPS),其實都有做限制防止濫發

這裡將會提供兩種方式來寄送郵件,但前提是要先安裝SMTP相關的外掛並設定,才有辦法寄出郵件

我這邊建議的是安裝Post SMTP外掛

要使用SendGrid寄送郵件,需要先申請SendGrid的帳號,我這邊就先跳過如何申請了

Step 01:進入SendGrid儀表版介面,找到左下方「Settings」裡面的「API Keys」
Step 02:到右上角按下「Create API Key」按鈕
Step 04:「API Key Name」輸入自己喜歡的名稱,其他不需要更動,按下「Create & View」按鈕
Step 05:產生一連串的字串並複製下來(※此字串只會顯示一次,如果沒有記下來的話就只能重新製作,建議開個文字檔存入
Step 06:回到Post SMTP的設定頁面,點擊「顯示所有設定」
Step 07:類型選擇「SendGrid API」,API金鑰內容把剛剛的字串貼進去後按下儲存設定
Step 08:回到SendGrid網頁的儀表版,進入「Settings」的「Sender Authentication」選項
Step 09:選擇「Authenticate Your Domain」後進入「Domain Authentication」頁面
Step 10:按下右上角的「Create」按鈕
Step 11:DNS host選擇您所使用的DNS server(可能是你申請Domain的網站,但我個人是使用Cloudflare管理,因為它最快反映到網路上),如不想要寄到對方信箱時寫「這是透過SendGrid寄出」相關資訊的話,link branding這個選項要選擇Yes
Step 12:認證你的Domain,這邊輸入你當初申請的Domain名稱
Step 13:接著要把這個頁面的字串,全部都複製起來到DNS server(接下來將以Cloudflare為例)
Step 14:在這個頁面按下「新增記錄」按鈕
Step 15:將Step 13的各字串分別輸入,SendGrid的Name欄位填入這裡的名稱欄位,SendGrid的Value欄位填入這裡的目標欄位,最後Proxy狀態都調整成僅DNS(不調成僅DNS的話之後沒辦法進行下去)後記得要按「儲存」按鈕
Step 16:Cloudflare設定完之後,回到Step 13的頁面,拉到最下面。將「I’ve added these records」打勾後,再按下旁邊「Verify」按鈕
Step 17:基本上Cloudflare那邊設定好,Step 16按下「Verify」後基本上就會到這個頁面了(如果不是用Cloudflare的話就不一定可以馬上到這個頁面)
Step 18:回到Post SMTP頁面(Step 06的頁面)後,選擇「連線測試」
Step 19:基本上不用輸入東西,進到這畫面是自動填入資料的,按下「開始測試」按鈕
Step 20:我們只要確認SendGrid API這一項目是否正常動作,從畫面來看動作正常
Step 21:再回到Post SMTP設定畫面,選擇「傳送測試電子郵件」
Step 22:輸入希望接受測試信件的信箱
Step 23:顯示已成功寄出
Step 24:成功確認收到郵件!

以上為SendGrid的設定,接著是使用自有的郵件伺服器的設定

透過自己的郵件伺服器寄送郵件

和SendGrid比較起來,用自己的郵件伺服器寄送郵件設定其實簡單許多,設定上和SendGrid比較起來比較簡單,但前提是要先架一台郵件伺服器;關於郵件伺服器的架設,將在後續的文章中提到,這裡先從設定用自己的郵件伺服器寄信

※要注意一點就是記得在郵件伺服器設定此網站IP(VPS提供的IP)的白名單,否則有可能會被郵件伺服器阻擋造成無法寄信

Step 01:進入Post SMTP設定介面,選擇「顯示所有設定」
Step 02:將類型欄位選擇「SMTP」,其他的部分則是輸入郵件伺服器相關的設定
Step 03:回到Post SMTP設定頁面,這次同樣選擇「連線測試」
Step 04:可以確認到自己的Mail Server可以使用服務
Step 05:再度做傳送測試電子郵件
Step 06:確認到已經成功傳送郵件
Step 07:成功確認收到郵件!

以上為解決WordPress無法寄送郵件的窘況,希望能夠幫到你!

原文連結Cyrians ~Make something different ~

喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區