linux 发邮件最简单的办法linux
最近想经过linux监控系统情况并自动报警,通常Linux发送报警邮件经过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱便可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,也可使用公司邮箱,须要安装mailx工具,mailx是一个小型的邮件发送程序。vim
具体步骤以下:服务器
一、安装工具
[root@001 ~]# yum install mailx测试
二、编辑配置文件spa
[root@001 ~]# vim /etc/mail.rc #添加以下内容.net
set from=xxxx@126.comcode
set smtp=smtp.126.comget
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方式
三、测试
[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