最近在实施服务端日志监控脚本,需要对异常情况发送邮件通知相关责任人,记录下centos通过sendmail发送邮件的配置过程。

一. 安装sendmail和mailx

1、安装sendmail:

 1): centos下可以安装命令:

yum install -y sendmail
service sendmail start
yum install mailx

二. 发送邮件

1、通过文件内容发送

发送命令如下:
mail -s 'mail test' [email protected] < mail.txt
# "mail test"为邮箱主题,"[email protected]"为收件人邮箱,"mail.txt"为邮件内容

2、 通过管道符直接发送

发送命令如下:
echo "this is my test mail"|mail -s 'mail test' [email protected]
# "mail test"为邮箱主题,"[email protected]"为收件人邮箱

三. 设置发件人信息

上述发送邮件默认会使用linux当前登录用户信,通常会被当成垃圾邮件,指定发件人邮箱信息命令:vi /etc/mail.rc,编辑内容如:

set [email protected]
set smtp=smtp.163.com
set smtp-auth-user=username
set smtp-auth-password=password
set smtp-auth=login


 注意配置中的smtp-auth-password不是邮箱登录密码,是邮箱服务器开启smtp的授权码,每个邮箱开启授权码操作不同(网易163邮箱开启菜单:设置-> 客户端授权密码)。