Linux 發送郵件的命令行應用

發送郵件有超多種方法,但是接收郵件就要麻煩很多。所以這裏先只講發送郵件

先說明下:不管是什麼郵件客戶端,都是可以直接發郵件的。但是,因爲默認的話,發件人是很隨便地設置成你本機地名字。並且100%會被郵箱當成垃圾郵件處理。如果你去垃圾箱裏找,還是可以看到的。這就是爲什麼,我們還是需要配置它,讓它登錄某個郵箱來使用它的身份發郵件了,比如gmail郵箱或阿里雲郵箱。(國內的163和qq郵箱都已經屏蔽第三方客戶端登錄了)

另注:爲什麼如今這麼電子技術這麼發達的年代,命令行郵件終端相關的應用和文章還這麼少幾乎都是很多年前的?我想是因爲:python等都已經能很好很方便支持發郵件了,沒必要折騰命令行版本。
事實上,試過就知道:爲什麼這些客戶端會被拋棄了。。。請看下面我入的坑:

Mail

注:Mail的配置相當麻煩,網上找文章也寥寥無幾,有也都是十幾年前的東西。所以建議放棄,使用更先進的客戶端。

Mutt

Mutt是Linux郵箱客戶端榜上有名的利器了。

先不說什麼界面操作之類的,因爲我們用命令行的郵箱客戶端都是用來自動化的,不想用什麼界面。

參考:Linux使用mutt發送郵件

安裝

其中mutt是軟件本身,msmtp是用來幫助發件的工具。

# Linux
$ sudo apt-get install mutt msmtp

# 或Mac
$ brew install mutt msmtp

配置

你需要配置兩個文件,一個是~/.muttrc用來配置Mutt本身,一個是~/.msmtprc用來配置發件人的,需要寫入密碼一類的。

參考:Linux下使用mutt,msmtp發信

配置~/.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來找到它的真實位置,再填進去。

關於配置的解釋可以看這裏:
image

發送郵件命令格式

注意:收件人的地址前一定要明確指定參數名--,如下所示。否則無法正確發送附件。

# 常用格式如下 -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

語法:
image

參數:
image

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),反而是最新的版本!

郵箱配置

image

  • 163郵箱

image

  • 新浪郵箱
- 新浪@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試試,但不同的國家有可能只支持
一個端口(並非所有客戶端都支持加密碼) 。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章