發送郵件有超多種方法,但是接收郵件就要麻煩很多。所以這裏先只講發送郵件
先說明下:不管是什麼郵件客戶端,都是可以直接發郵件的。但是,因爲默認的話,發件人是很隨便地設置成你本機地名字。並且100%會被郵箱當成垃圾郵件處理。如果你去垃圾箱裏找,還是可以看到的。這就是爲什麼,我們還是需要配置它,讓它登錄某個郵箱來使用它的身份發郵件了,比如gmail郵箱或阿里雲郵箱。(國內的163和qq郵箱都已經屏蔽第三方客戶端登錄了)
另注:爲什麼如今這麼電子技術這麼發達的年代,命令行郵件終端相關的應用和文章還這麼少幾乎都是很多年前的?我想是因爲:python等都已經能很好很方便支持發郵件了,沒必要折騰命令行版本。
事實上,試過就知道:爲什麼這些客戶端會被拋棄了。。。請看下面我入的坑:
Mail
注:Mail的配置相當麻煩,網上找文章也寥寥無幾,有也都是十幾年前的東西。所以建議放棄,使用更先進的客戶端。
Mutt
Mutt是Linux郵箱客戶端榜上有名的利器了。
先不說什麼界面操作之類的,因爲我們用命令行的郵箱客戶端都是用來自動化的,不想用什麼界面。
安裝
其中mutt
是軟件本身,msmtp
是用來幫助發件的工具。
# Linux
$ sudo apt-get install mutt msmtp
# 或Mac
$ brew install mutt msmtp
配置
你需要配置兩個文件,一個是~/.muttrc
用來配置Mutt本身,一個是~/.msmtprc
用來配置發件人的,需要寫入密碼一類的。
配置~/.msmtprc
:
account Aliyun
host smtp.aliyun.com
from [email protected]
auth login
user [email protected]
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="[email protected]"
set envelope_from=yes
set editor="vim -nw"
注意:第一條set sendmail
中的位置不一定是這樣的,在Mac和Linux上都會不同,所以需要用which msmtp
來找到它的真實位置,再填進去。
關於配置的解釋可以看這裏:
發送郵件命令格式
注意:收件人的地址前一定要明確指定參數名--
,如下所示。否則無法正確發送附件。
# 常用格式如下 -s “標題” -c 抄送 -a 附件
$ echo “HELLO WORLD” | mutt -s “TITLE” -- [email protected]
# 發送HTML格式漂亮的郵件
$ mutt -- [email protected] -e 'set content_type="text/html"' -s "TITLE" < out.html
# 發送給多人,抄送,添加附件
$ echo "hello" | mutt -s "TITLE" [email protected], [email protected] -c [email protected] -a /home/pi/pic.jpg address="[email protected]"
# 發送郵件時設置郵件的文本類型爲:html格式,郵件的等級爲:重要
$ echo $content | mutt -s "${subject}" -e 'set content_type="text/html"' -e 'send-hook . "my_hdr X-Priority: 1"' $address
語法:
參數:
Mutt發送HTML漂亮富文本郵件
默認語法是:
$ mutt -- [email protected] -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)
,反而是最新的版本!
郵箱配置
- 163郵箱
- 新浪郵箱
- 新浪@sina.com郵箱,
接收服務器地址爲:pop.sina.com或pop3.sina.com,
發送服務器地址爲:smtp.sina.com
- 新浪@sina.cn郵箱,
接收服務器地址爲:pop.sina.cn或pop3.sina.cn,
發送服務器地址爲:smtp.sina.cn
- 端口號設置:
POP協議:pop端口:110、smtp端口:25
IMAP協議:IMAP 端口:143、smtp端口:25
- 加密設置:
pop是995、imap的是993
smtp是587或465,如465不能正常使用,
可以更換587試試,但不同的國家有可能只支持
一個端口(並非所有客戶端都支持加密碼) 。