發送郵件有超多種方法,可是接收郵件就要麻煩不少。因此這裏先只講發送郵件
先說明下:無論是什麼郵件客戶端,都是能夠直接發郵件的。可是,由於默認的話,發件人是很隨便地設置成你本機地名字。而且100%會被郵箱當成垃圾郵件處理。若是你去垃圾箱裏找,仍是能夠看到的。這就是爲何,咱們仍是須要配置它,讓它登陸某個郵箱來使用它的身份發郵件了,好比gmail郵箱或阿里雲郵箱。(國內的163和qq郵箱都已經屏蔽第三方客戶端登陸了)html
另注:爲何現在這麼電子技術這麼發達的年代,命令行郵件終端相關的應用和文章還這麼少幾乎都是不少年前的?我想是由於:python等都已經能很好很方便支持發郵件了,不必折騰命令行版本。
事實上,試過就知道:爲何這些客戶端會被拋棄了。。。請看下面我入的坑:
Mail
注:Mail的配置至關麻煩,網上找文章也寥寥無幾,有也都是十幾年前的東西。因此建議放棄,使用更先進的客戶端。
Mutt
Mutt是Linux郵箱客戶端榜上有名的利器了。
先不說什麼界面操做之類的,由於咱們用命令行的郵箱客戶端都是用來自動化的,不想用什麼界面。python
參考:Linux使用mutt發送郵件linux
其中mutt
是軟件自己,msmtp
是用來幫助發件的工具。shell
# Linux $ sudo apt-get install mutt msmtp # 或Mac $ brew install mutt msmtp
你須要配置兩個文件,一個是~/.muttrc
用來配置Mutt自己,一個是~/.msmtprc
用來配置發件人的,須要寫入密碼一類的。vim
配置~/.msmtprc
:工具
account Aliyun host smtp.aliyun.com from jason@aliyun.com auth login user jason@aliyun.com password abcde123123123 account default : Aliyun logfile ~/.msmtp.log
而後必須修改~/.msmtprc
文件的權限,不然程序沒法讀取,發郵件時會報錯。修改以下:阿里雲
chmod 600 ~/.msmtprc
配置~/.muttrc
:加密
set sendmail="/usr/bin/msmtp" set use_from=yes set realname="Jason" set from="Jason@aliyun.com" set envelope_from=yes set editor="vim -nw"
注意:第一條set sendmail
中的位置不必定是這樣的,在Mac和Linux上都會不一樣,因此須要用which msmtp
來找到它的真實位置,再填進去。spa
關於配置的解釋能夠看這裏:
注意:收件人的地址前必定要明確指定參數名--
,以下所示。不然沒法正確發送附件。
# 經常使用格式以下 -s 「標題」 -c 抄送 -a 附件 $ echo 「HELLO WORLD」 | mutt -s 「TITLE」 -- RECIPIENT@gmail.com # 發送HTML格式漂亮的郵件 $ mutt -- RECIPIENT@gmail.com -e 'set content_type="text/html"' -s "TITLE" < out.html # 發送給多人,抄送,添加附件 $ echo "hello" | mutt -s "TITLE" aaa@gmail.com, bbb@gmail.com -c ccc@gmail.com -a /home/pi/pic.jpg address="RECIPIENT@gmail.com" # 發送郵件時設置郵件的文本類型爲:html格式,郵件的等級爲:重要 $ echo $content | mutt -s "${subject}" -e 'set content_type="text/html"' -e 'send-hook . "my_hdr X-Priority: 1"' $address
語法:
參數:
默認語法是:
$ mutt -- RECIPIENT@gmail.com -e 'set content_type="text/html"' -s "TITLE" < out.html
可是,值得注意的是,語法雖然簡單,可一旦你本機的mutt
版本不對,郵件將沒法顯示出正確的格式,而只是無盡的html源代碼。
經過mutt -v
能夠看到,發送出顯示正常的郵件的mutt版本是在樹莓派上安裝的Mutt 1.5.23 (2014-03-12)
。而不成功的是在Mac上的Mutt 1.9.5 (2018-04-13)
,反而是最新的版本!
- 新浪@sina.com郵箱, 接收服務器地址爲:pop.sina.com或pop3.sina.com, 發送服務器地址爲:smtp.sina.com - 新浪@sina.cn郵箱, 接收服務器地址爲:pop.sina.cn或pop3.sina.cn, 發送服務器地址爲:smtp.sina.cn - 端口號設置: POP協議:pop端口:1十、smtp端口:25 IMAP協議:IMAP 端口:14三、smtp端口:25 - 加密設置: pop是99五、imap的是993 smtp是587或465,如465不能正常使用, 能夠更換587試試,但不一樣的國家有可能只支持 一個端口(並不是全部客戶端都支持加密碼) 。