一、工具和环境
1.Linux Ret Hat 6.4 (红帽子企业级 Linux 6.4 代号 Santiago)
2.查看Linux操作系统版本命令
cat /etc/redhat-release
3.mailx 12.4
二、安装 mailx 12.4 (建议切换成root权限)
1.下载mailx 12.4命令
wget http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2
2.解压命令
tar jxvf mailx-12.4.tar.bz2
3.进入mailx-12.4目录
cd mailx-12.4
4.编译
make
如果这里编译失败报错要下载补丁
4.1、下载补丁 (这里下载的是对应操作系统和mailx-12.4版本的补丁)
wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch
4.2、打补丁命令
patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch
4.3、如果打好了补丁要重新执行 编译命令 make (如果make还是失败,那就是你打的补丁版本不对或者没打成功)
5.安装mailx-12.4命令
make install UCBINSTALL=/usr/bin/install
6.创建mailx到mail的软连接命令
ln -s /usr/local/bin/mailx /bin/mail
7.创建mailx配置文件软连接
ln -s /etc/nail.rc /etc/mail.rc
8.查看安装路径/版本信息
whereis mailx #查看安装路径
mailx -V #查看版本信息
三、配置外部邮箱mailx
1.使用的mailx属于服务端外部邮箱,需要将系统自带的postfix停止,postfix操作命令 (需要root权限)
# /etc/init.d/postfix status #查看开启状态
# /etc/init.d/postfix start #开启
# /etc/init.d/postfix stop #关闭
## chkconfig postfix off #开机不自启
2.编辑mailx配置信息
vi /etc/mail.rc
3.在mail.rc添加以下配置
set from=
set smtp=
set smtp-auth-user=
set smtp-auth-password=
set smtp-auth=login
模板:
set from=xxx\@xx.com (这里写发件邮箱,可以用163或者qq邮箱,新申请的qq邮箱要14天后才能使用SMTP,@前面要加'\')
set smtp=smtp.163.com:25 (这里是163服务器的地址和端口,不同的服务器的地址不同,普通邮箱和企业邮箱的smtp地址都不同,不要搞混了,参考这篇文章http://blog.csdn.net/qq_33168577/article/details/79374729)
set smtp-auth-user= 和 set from= 写一样的
set smtp-auth-password= 如果是企业邮箱直接写邮箱密码,如果是个人邮箱,要写 授权码。腾讯的授权码获取方法请看:http://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256
set smtp-auth-login=login (固定的)
配置好后:wq!保存退出
4.命令测试邮件发送功能
echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected]
4.1、-s 后面不可以带 ‘test’ 参数 [email protected] 写你的收件邮箱
四、配置root用户登录邮箱告警
1.修改.bashrc文件配置,设置被通知邮箱
vi ~/.bashrc
在文件下面接着添加 :
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected]
想通知几个人就在后面加几句
echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected]
想那个用户登录邮件通知,就su 到那个用户, 按以上方法更改.bashrc文件
2.在root用户编辑.bashrc文件就只对root用户登录起作用。上面通知邮箱,有ip和登录时间和登录用户的信息,也可以改成自己中意邮箱模板。
3.保存测试 :eq!
保存好配置文件退出后,断开ssh链接,然后重新用root用户(或者你设置邮箱告警的用户)ssh登录服务器。3秒内就会收到服务器发的告警邮件。
4.现在的各大邮箱每天都有发件上限哦,到了上限就不会发送,各大邮箱的上限请看:http://www.360doc.com/content/15/0411/20/20545288_462481521.shtml