LINUX下发送邮件
linux 发邮件最简单的办法
最近想通过linux监控系统状况并自动报警,一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,这里用最简单的方法实现linux 使用外部邮箱即可实现发送邮件功能,你只需简单注册个国内的邮件服务商邮箱,如163,qq邮箱,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序。
具体步骤如下:
一、安装(一般情况下系统自带此软件,所以可以略过第一步)
[root@DB ~]# yum -y install mailx
二、编辑配置文件
[root@DB ~]# vim /etc/mail.rc
在这里我选择使用qq邮箱来发送
在配置文件末行加入这几行代码块内容即可
例如:
用户名:123456789
授权码:aaaabbbbccccdddd
格式:
set from=123456789@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=123456789@qq.com
set smtp-auth-password=aaaabbbbccccdddd
set smtp-auth=login
说明:
from:对方收到邮件时显示的发件人
smtp:指定第三方发邮件的smtp服务器
smtp-auth-user:第三方发邮件的用户名
smtp-auth-password:用户名对应的密码,在这里我们实用的是授权码
smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式
三、格式简介
邮件发送:
第一种发送方式:
代码格式:
mail -s “主题” 收件地址< 文件
引号可加可不加(建议加上,使命令更加直观易懂,另一种方式也是这样)
例如:
主题:hello
收件地址:987654321@qq.com
正文:a文件内容
将a当做mail的内容,送至987654321@qq.com,主题为hello
[root@DB ~]# mail -s "hello" 987654321@qq.com < a
第二种发送方式:通过管道符号传送电子邮件:
代码格式:
echo “邮件正文” | mail -s “邮件主题” 收件地址
例如:
主题:hello
收件地址:987654321@qq.com
正文:email is easy
email is easy即为内容,送至987654321@qq.com,主题为hello
[root@DB ~]# echo "email is easy" | mail -s "hello" 987654321@qq.com