linux下使用自带mailx发送邮件

linux 发邮件最简单的办法

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

具体步骤如下:

1、安装

[root@001 ~]# yum install mailx

2、编辑配置文件

[root@001 ~]# vim /etc/mail.rc #添加如下内容

set from=xxxx@126.com

set smtp=smtp.126.com

set smtp-auth-user=xx@126.com

set smtp-auth-password=xxx

set smtp-auth=login

---说明

from:对方收到邮件时显示的发件人

smtp:指定第三方发邮件的smtp服务器地址,域名如果没法解释可添加入/etc/hosts,一般smtp使用25端口

set smtp-auth-user:第三方发邮件的用户名

set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码

smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式

3、测试

[root@text ~]# mail -s "邮件名" xxxxxxx@qq.com < /etc/passwd    #文本文件内容发送邮件

[root@text ~]# echo "测试邮件" | mail -s "测试" xxxxxxx@qq.com

[root@text ~]# cat /etc/passwd | mail -s "测试" xxxxxxx@qq.com

 

4.常用命令

把打印的内容作为标准输入,送给mail命令
[root@toughhou www]# echo "Hello, Tough" | mail -s "Tough's Greeting" toughhou@126.com

-s表示主题,"< mail.txt"表示把mail.txt里的内容作为邮件正文
[root@toughhou www]# mail -s "Tough's Greeting" toughhou@126.com < mail.txt 

也可以用cat mail.txt的输出作为mail命令的标准输入,作为邮件正文
[root@toughhou www]#cat mail.txt | mail -s "Tough's Greeting" toughhou@126.com

-c表示抄送的地址(houxiaolongr@126.com,houxiaolongr@163.com),toughhou@126.com是直接发送的地址
[root@toughhou www]# mail -s "Tough's Greeting" -c "houxiaolongr@126.com,houxiaolongr@163.com" "toughhou@126.com" < mail.txt 

测试发现,用uuencode发地附件,在邮箱里是不能正常显示的,是一些“乱码”,需要额外的解码命令,总之不太好用
[root@toughhou www]# uuencode /home/tough/pic/a.png "Tough's Photo" | mail -s "Pic Test" toughhou@126.com

在网上看到的伪造发件人地址方法(-- -f后跟发发件人地址,-F发件人名称),测试之后效果也不太理想
[root@toughhou www]# mail -s Tough toughhou@126.com < mail.txt -- -f toughhou@qq.com -F TOUGH

转载于:https://my.oschina.net/u/2324318/blog/1608247

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值