在linux下利用Google的SMTP來發郵件

在維護服務器的時候,經常需要建立一個服務器錯誤預警系統,而郵件是一個很好的途徑。
在linux下,一般是通過mail來寫郵件,而傳遞默認使用sendmail服務。這樣雖然能向外界發送郵件,但郵件不能回覆,並且sendmail服務要求發送方是系統可識別用戶,配置比較麻煩。下面通過使用Google的SMTP服務器來發送郵件,不但減輕服務器負擔,而且可以使用類似的公共郵件地址來作爲發送方。


下面所有步驟,全部基於CentOS 6.3,其他發行版本類似。


1.安裝mail
yum install mailx -y


2.如果想直接使用sendmail來發送郵件,需要啓動sendmail服務,或者saslauthd服務


3.如果想利用外部SMTP發送郵件,需編輯/etc/mail.rc,加入以下內容
set [email protected] 
set smtp=smtp.qq.com  
set smtp-auth-user=demo 
set smtp-auth-password=demopass 
set smtp-auth=login
但是這個設置只適合那些支持非ssl鏈接的SMTP服務器,但對於想Google這樣,強制使用SSL加密連接的,需根據第4步配置mail


4.利用Google的SMTP發送郵件
在裝有 Firefox 的 Linux 電腦, 將 ~/.mozilla/firefox/xxxxxxxx.default/ 的 cert*.db 與 key*.db 複製到 ~/.mozilla_nss_shared_db
編輯/etc/mail.rc,加入以下內容
set ssl-verify=ignore
set nss-config-dir=~/.mozilla_nss_shared_db
set from="[email protected](myname)"
set smtp=smtps://smtp.gmail.com:465
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret


如果想添加多個帳號,那就這樣寫配置文件
account starttls {
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=~/.mozilla_nss_shared_db
set from="[email protected](myname)"
set smtp=smtp://my.smtp.host:25
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret
}
account gmail {
set ssl-verify=ignore
set nss-config-dir=~/.mozilla_nss_shared_db
set from="[email protected](myname)"
set smtp=smtps://smtp.gmail.com:465
set smtp-auth=login
set smtp-auth-user=myaccount
set smtp-auth-password=mysecret
}
不過在發送郵件的時候,需要用-A參數指定發送帳號,比如-A gmail


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章