前言
反正網上各種坑,很多都沒有講清楚,只是大概講一下,一筆帶過就沒了,結果根本就不行。
安裝依賴
ubuntu中使用外部smtp發送郵件功能,不需要安裝那麼多東西,只需要heirloom-mailx
sudo apt-get install heirloom-mailx
注意(劃重點)
如果,你之前安裝了sendmail服務,請查看sendmail服務的啓動狀態,如果它是運行着的,OK,請stop掉它
sudo systemctl stop sendmail
但請別傻傻的以爲stop掉,就可以了,請用
ps aux | grep sendmail
確認sendmail服務真的沒有在跑,如果你在ps aux的輸出結果中,看到sendmail真的在運行着,請毫不猶豫,kill掉它,拜託。
還有,如果系統中之前安裝了postfix服務,也一樣,stop and kill it。
反正我是因爲這個一直開啓着,老是發送不成功,自動跳到本地郵件服務,關掉瞬間就可以了。
配置
設置外部郵箱服務器的smtp
注意(再次劃重點!!!!!)
筆者這裏就是看到網上各位大神,都在說修改/etc/mail.rc或者/etc/nail.rc文件,添加郵箱的smtp配置。。。媽個雞,坑死了,筆者的系統是ubuntu16的,所以這兩個文件壓根都是空的,筆者屁顛屁顛的自己去生成,結果怎麼試都GG。
原來在筆者的系統(Ubuntu 16.04.1 LTS )中,配置文件是/etc/s-nail.rc
請注意文件名前面的s-
天吶,真的要命,原來ubuntu16下的heirloom-mailx郵件服務,配置文件是s-nail.rc
好吧,改唄,在/etc/s-nail.rc文件下,在底部添加如下信息
set [email protected]
set smtp=smtp.qq.com:25
#set smtp=smtps://smtp.qq.com:465 #ssl
set smtp-auth=login
set [email protected]
set smtp-auth-password=xxxxxxx #這裏不是填QQ密碼,而是填授權碼,具體因各個平臺而不同
添加完成後,不需要做任何重啓操作。
郵件發送
經過以上配置,就可以使用heirloom-mailx、mailx、mail命令行發送郵件了。
echo "郵件內容" | mailx -s "郵件主題" -v [email protected]
其中-v 是調試模式,會輸出郵件發送信息,有時候郵件發送不成功,用這個參數可以看到原因。
發送郵件很多種寫法與方式,筆者這裏就不贅述,也不浪費時間寫了,百度一大把。
JUST DO IT
後記
1、centos下的安裝mailx的配置文件是/etc/mail.rc, 這個跟ubuntu的heirloom-mailx不一樣。