2013年1月26日

Ubuntu Linux Server 設定 GMail 為系統預設電子郵件服務

Ubuntu Linux Server 預設以 Exim4 作為電子郵件伺服器軟體,只要簡單的設定,就能搭配 GMail 使用,省去維護郵件伺服器的麻煩。

先安裝 Exim4 伺服器與 mailutils 郵件工具。

sudo apt-get update
sudo apt-get install exim4 mailutils

接下是設定 Exim4,使用 smarthost + GMail 作為外部 SMTP 服務。

sudo dpkg-reconfigure exim4-config

參考以下設定方法:

接著是一串繁瑣的設定過程,但其實設定內容很簡單,重點在 smtp.gmail.com::587 這邊要設定正確。
  1. 請選擇最符合您的需求的郵件伺服器之設定類型。
    • 使用 smarthost 來傳送郵件;並藉由 SMTP 或是 fetchmail 來接收郵件 (mail sent by smarthost; received via SMTP or fetchmail)
  2. 系統郵件名稱 (mail name):
    • 自行輸入已註冊的網域名稱(例如 yourhostname.com)
  3. 在有 SMTP 連線傳入時,要進行監聽的 IP 位址 (listen on for incoming SMTP connections)
    • 127.0.0.1
  4. 要進行接收的其它郵件位址 (Other destinations for which mail is accepted)
    • 保留空白
  5. 要替哪些主機進行郵件轉寄 (Machines to relay mail for)
    • 保留空白
  6. 外寄郵件時所使用的 smarthost 的 IP 位址或主機名稱 (Machine handling outgoing mail for this host)
    • smtp.gmail.com::587
  7. 是否在外送郵件中隱藏本機的郵件名稱 (hide local mail name in outgoing mail)
    • 否 (No)
  8. 是否保持最小的 DNS 查詢量 (don’t keep number of DNS-queries minimal)
    • 否 (No)
  9. 本機郵件的傳送方式
    • 存放在 /var/mail 裡的 mbox 格式
  10. 是否將設定檔分散成較小的檔案 (split configuration into small files)
    • 否 (No)
  11. root 及 postmaster 的郵件代收者
    • 輸入系統中指定的使用者帳號(多位使用者以空白字元分隔)

設定 GMail 密碼

因為 Gmail 需要帳號密碼登入後,才有寄信的權限;先編輯 /etc/exim4/passwd.client 加入設定,格式如下。

*:username:password

重新啟動 Exim4 

sudo service exim4 restart

測試發信

使用 mail 指令測試從 Server 寄出郵件。

echo '郵件內容' | mail -s '信件標題' yourname@gmail.com

檢查 LOG 記錄

如果寄信過程發生錯誤,可以在 maillog 記錄檔查詢。

tail -n 20 /var/log/exim4/mainlog

1 則留言:

  1. 請問第11步驟沒有出現,就跳出來結束怎麼辦?

    回覆刪除

lyhcode by lyhcode
歡迎轉載,請務必註明出處!