星期五, 10月 05, 2007

用 nail 通過 gmail 發出系統郵件

如果你跟我一樣很怕麻煩, 又千方百計地壓榨系統的每一分資源的話, nail 應該適合你。它是 command-line 下既輕巧, 亦支援 smtp 的一個email client, 也就是說你可以不用裝 sendmail, 用 nail 就可以連上支援 smtp 的免費郵箱, 如 gmail 來發出電郵,也就是可以用 gmail 來發出系統電郵。

1. 安裝
當然是以 gentoo 的 portage 來示範了, 不過除了這個步驟, 餘下的各 distro 都適用。
# USE="ssl net" emerge mail-client/nail

留意這個 net 的 USE 是 POP, SMTP 等支援的關鍵, 另外如果你的 distro 提供的沒有 ssl 支援那就要自行編譯了。

2. 設定
只需設定 /root/.mailrc
# vi /root/.mailrc
# 然后貼上以下內容
-------------------
set smtp=smtp.gmail.com:587 #465 won't work
set smtp-use-starttls #nail will claim withou starttls
set smtp-auth-user=your_gmail_id@gmail.com
set smtp-auth-password=your_gmail_pw

我就刻意申請了一個額外的gmail 帳戶作這個用途, 因為是免費的嘛... 人真是貪得無厭呢 :P

3. 實際測試
ok 大功告成, 很簡單卻花了我不少時間, 原來 smtp 的 port 一定要 587, 465是不行的。以下指令是將 /etc/fstab的內容寄到指定的收件者, 如果在inbox內看不到此郵件並不代表失敗, 可以去 spam 裡找找看.... (無語)
# cat /etc/fstab | nail -s "nail mailing test" -r <寄件者地址> <收件者地址>

4. 參考資料
nail manpage

沒有留言: