ubuntu16 使用外部smtp 發送網絡郵件

前言

 反正網上各種坑,很多都沒有講清楚,只是大概講一下,一筆帶過就沒了,結果根本就不行。

安裝依賴

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不一樣。

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