发送邮件有超多种方法,可是接收邮件就要麻烦不少。因此这里先只讲发送邮件
先说明下:无论是什么邮件客户端,都是能够直接发邮件的。可是,由于默认的话,发件人是很随便地设置成你本机地名字。而且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试试,但不一样的国家有可能只支持 一个端口(并不是全部客户端都支持加密码) 。