(实用)linux发送邮件(mailx)

806 阅读2分钟

这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

简介

我们可能会对linux进行简单的监控或者查看任务的结果,因此会用到linux自带的发邮件功能,此处以mailx为例,并发送到QQ邮箱

一旦配置了邮箱功能,就要考虑异常发信白名单

安装

yum install -y mailx

系统中有可能存在其他的邮箱软件,这里就需要关闭其他邮箱工具

systemctl stop postfix
systemctl stop sendmail

配置

/etc/mail.rc的最后添加发送邮件配置

set from=zdc_job@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=zdc_job@qq.com
set smtp-auth-password=授权码
set smtp-auth=login

from 是你设置的stmp服务邮箱地址,也是用来发送邮件的邮箱地址

smtp是发生的外部smtp服务器的地址,如qq的smtp.qq.com

smtp-auth-user是外部smtp服务器认证的用户名(正常情况下是邮箱账号)

smtp-auth-password是外部smtp服务器认证的用户密码(QQ是授权码)

smtp-auth是邮件认证的方式

使用

管道发送

echo '内容部分' | mail -s '标题名字' zdc@qq.com

后面的邮箱是你想要发送的人的邮箱

如果发送报错,则根据原因自行百度

如果对方收不到,看看是不是在垃圾箱中

shell命令行编辑发送

$ mail -s "测试文章" zdc_job@qq.com  ##进入内容输入模式
hello       ##正文内容  
EOT         ##按`ctrl+D`自动显示的结束符

在控制台输入mail -s "测试文章" zdc_job@qq.com之后会进入内容输入模式,可以换行一直写.输入玩所有的内容之后,再按ctrl+D 结束如数内容

内容从文件中读取并发送

mail -s '标题' zdc_job@qq.com < data.txt

其他

其他功能请使用

man mail

结束语

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

如果您喜欢我的文章,可以[关注]+[点赞]+[评论],您的三连是我前进的动力,期待与您共同成长~

    作者:ZOUZDC
    链接:https://juejin.cn/post/7028963866063306760
    来源:稀土掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。