uncategorized

[Linux]邮件发送

概况

在Linux中,有很多种方式可以实现Shell中发送邮件。然而尝试sendmail失败后,掉入了一个大坑。最后发现直接简单粗暴使用mail或mailx(以下统称为mail)就可以了。

当然如果需要自己搭建邮件服务器,那么类似sendmail这类命令还是不能避免的。单纯使用mail实际上是使用了外部的smtp服务,这里我就是使用163的。

步骤1–安装

部分Linux是原本就带有mail的了,没有也不怕,执行以下命令就可以了(以下所有情况均在CentOS下执行测试)

1
shell> yum install mailx -y

安装mailx

步骤2–配置

接下来进行外部smtp配置,修改/etc/mail.rc,在文档最后添加以下几句,保存退出。

1
2
3
4
5
set from=xxx@163.com
set smtp=smtp.163.com
set smtp-auth-user=xxx # 和from属性中‘@’之前一样
set smtp-auth-password=xxx # 邮箱密码
set smtp-auth=login

步骤3–发送邮件

执行以下命令即可实现邮件发送了

1
shell> echo "邮件正文内容" | mail -s "邮件主题" xxx@xxx.com

这就是差不多最简单的一封邮件。有点需要注意的是,163好像会检测邮件是否太过垃圾(虽然我也不知道它的策略)。一旦被它认为是垃圾邮件,就会被退信了。所以测试写的内容也不能太过随意。

(•̀ᴗ•́)و ̑̑

Share