使用 linuxmail命令发送邮件

一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序。

 
原理图:

具体步骤:

准备环境
编辑配置文件
测试用例说明
测试demo
demo:

这里我使用 mail 命令,调用 stmp.163.com 的服务 发送邮件

 

测试环境
rpm -qa mailx 查看有没有装 mailx服务
没有安装的话 yum install mailx -y
编辑配置文件 /etc/mail.rc
在配置文件 /etc/mail.rc 只有 追加 如下配置
set from=xxx@163.com
set smtp=smtp.163.com
set smtp-auth-user=xxx@163.com
set smtp-auth-password=xxx (这个填写客户端授权码)
set smtp-auth=login
配置说明
from:对方收到邮件时显示的发件人
smtp:指定第三方发邮件的smtp服务器地址
set smtp-auth-user:第三方发邮件的用户名
set smtp-auth-password:客户端需要授权的填写授权码(163 需要客户端授权码) || 不需要授权的填写密码
smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式
测试用例
mail -h 先查看帮助 常用选项如下
[root@localhost ~]# mail -h
mail: option requires an argument -- h

Usage: mail -eiIUdEFntBDNHRV~ -T FILE -u USER -h hops -r address -s SUBJECT -a FILE -q FILE -f FILE -A ACCOUNT -b USERS -c USERS -S OPTION users

c. -s 邮件的主题 ; -a 邮件的附件

 

有邮件有正文
 mail -s "主题"  收件地址< 文件(邮件正文.txt)
% mail -s "邮件主题"  1968089885@foxmail.com < /data/findyou.txt

 echo "邮件正文" | mail -s 邮件主题  收件地址
% echo "邮件正文内容" | mail -s "邮件主题"  xxx@xxx.com

 cat 邮件正文.txt | mail -s 邮件主题  收件地址 
% cat  /data/findyou.txt | mail -s "邮件主题"  xxx@xxx.com

 

2. 带附件   

 mail -s "主题"  收件地址  -a 附件 < 文件(邮件正文.txt) 

mail -s "邮件主题"  xx@xx.com -a /data/findyou.tar.gz < /data/findyou.txt

效果截图:
---------------------
作者:陈帅同学
来源:CSDN
原文:https://blog.csdn.net/chenshuai1993/article/details/83445667
版权声明:本文为博主原创文章,转载请附上博文链接!


*文章为作者原创或网络转载
转载此文请于文首标明作者姓名,保持文章完整性,并请附上出处
未按照规范转载者,陈帅同学保留追究相应责任的权利
编程改变世界

干了这碗鸡汤