[EMail][Linux] Linux使用SSMTP來自動寄發通知信-透過Gmail

[EMail] Linux使用SSMTP來自動寄發通知信-透過Gmail

OS: Ubuntu 14.04.5 LTS

SMTP: SSMTP 2.64

首先安裝ssmtp服務和Email處理工具

apt-get install ssmtp mailutils

 

再來是備份原始設定檔

cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.default

編輯ssmtp設定檔(/etc/ssmtp/ssmtp.conf)

vim /etc/ssmtp/ssmtp.conf
#接收系統郵件的 Email

[email protected]

# 使用 GMail 的 MTA 送信

mailhub=smtp.gmail.com:587

# 設定 hostname

hostname=xxxxxx

# 允許使用者設定 Email 的 From 欄位

FromLineOverride=YES

# Google 帳號與密碼

[email protected]

AuthPass=xxxxxx

# 啟用安全加密連線

UseSTARTTLS=YES

UseTLS=YES

# 輸出除錯資訊

Debug=YES

 

設定完成後就能夠使用了,測試方法如下:

echo "TEST" | mail -s "TEST" [email protected]

此步驟後半段為特殊情況出現時,才需要進行調整:

狀況1: 沒有開啟Google兩步驟驗證時,仍然無法寄信,會出現授權失敗的錯誤訊息(ssmtp: Authorization failed (530.7.0 ............gsmtp)

此情況可能發生在Google的安全性設定上,請到"Google登入和安全性"設定的網頁中,開啟"允許安全性較低的應用程式"的功能後既可解決。

 

狀況2: 開始Google兩步驟驗證時的處理辦法。

如果你有開啟 Google 的兩步驟驗證,那麼在使用 Google送信時,可能就會產生類似這樣的錯誤訊息(ssmtp: Authorization failed (534 5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor n17sm64719796pfg.80 - gsmtp)),造成這個問題的原因是 SSMTP 沒有支援兩步驟驗證,解決的方式是改用 Google 應用程式專用的密碼來登入,以下是處理的步驟:

  • 請到"Google登入和安全性"設定的網頁中,選擇"應用程式密碼"。
  • 進入後產生一組新的應用程式密碼來使用,名稱可以自取。
  • 把ssmtp設定檔中的Google密碼替換成這一組,其餘設定不變動,這樣就能使用了。
  • Google 帳號與密碼

[email protected]

AuthPass=XXXXXXXXX

以上。

Add a Comment