Linux使用命令行发邮件

虽然在Linux下有很多邮件软件,但是有的时候我们还是需要在命令行下发送邮件,网上的教程也有很多,但是我尝试了很多,大多数都 失败了,记录一下我为数不多的成功经历。

设置POP3/SMTP服务

以163邮箱为例,先进入你的163邮箱,在设置下面的POP3/SMTP/IMAP下设置POP3/SMTP服务。

开启服务之后,163邮箱会让你设置授权码,一定要记住这个授权码,下面讲到的邮箱配置文件中的密码是这个授权码,而不是你登陆 邮箱的密码!

image.png

安装和配置软件

sudo apt instmail="/usr/bin/msmtp"
set use_from=yes
set realname="无所谓"
set from=tom@163.com
set envelope_from=yes

然后新建日志文件touch ~/.msmtp.log
新建msmtp配置文件vim ~/.msmtprc,写入以下内容

account default
host    smtp.163.com
user    tom
from    tom@163.com
password        xxxxxxx
auth    login
tls     off
logfile ~/.msmtp.log

user不能随便填写,一定要是邮箱@之前的字符

由于密码是明文,所以修改文件的权限,只允许自己可以访问该文件 chmod 600 ~/.msmtprc
配置好之后可以输入msmtp --host=smtp.163.com --serverinfo命令,进行测试,输出以下结果

SMTP server at smtp.163.com (m12-16.163.com [220.181.12.16]), port 25:
163.com Anti-spam GT for Coremail System (163com[20141201])
Capabilities:
PIPELINING:
Support for command grouping for faster transmission
STARTTLS:
Support for TLS encryption via the STARTTLS command
AUTH:
Supported authentication methods:
PLAIN LOGIN
This server might advertise more or other capabilities when TLS is active.

使用软件

然后就可以开始使用命令行发送邮件了。

echo "hello world" | mutt -s "title" 目标邮箱
mutt -s "title" -a 附件 -- 目标邮箱 < 邮件正文
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容