设为首页 收藏本站
查看: 1005|回复: 0

[经验分享] linux邮件系统(报警) POSTFIX AND DOVECOT

[复制链接]

尚未签到

发表于 2015-9-15 10:43:50 | 显示全部楼层 |阅读模式
postfix 邮件服务器和shell邮件报警
一个系统里只能有一个邮件服务器
首先卸载系统自带的sendmail,或者关闭服务
安装postfix 邮件
yum -y install postfix*
注意:postfix 只能提供25号端口的进程和程序
接收邮件的110端口是由dovecot来提供的进程和程序
安装dovecot
yum -y install dovecot*

postfix 配置和服务
cd  /etc/postfix/
vi  main.cf
修改
myhostname  = mail.g.cn (你的主机名)
mydomain = g.cn (你的域名)
myorigin = $myhostname   (你的发送邮件后缀)
myorigin = $mydomain     (你的发送邮件后缀)
inet_interfaces = all (25端口在所有端口监听)
mydestination = $myhostname,$mydomain         (收件人的邮件后缀)
mynetworks = 192.168.1.0/24 , 127.0.0.0/8  (服务器所处网段)
relay_domains = $mydestination (允许中继转发)
重启服务
service  postfix restart
查看25号端口
netstat  -tunpl | grep 25
发现进程叫做master
改变默认邮件服务器
[iyunv@localhost ~]# alternatives --config mta
There is 1 program that provides 'mta'.
Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number: 1
这样25号端口的发信就设置好了

配置和启动dovecot
vi  /etc/dovecot/dovecot.conf
修改protocols  把#号去掉 保存
service dovecot restart
chkconfig dovecot on
现在在linux系统中创建系统用户
useradd  user1
passwd  user1
useradd  user2
passwd  user2
当这2个用户创建好了 根据上面的邮件设置 我们的系统会自动给这2个用户创建一个系统邮箱 叫 user1@g.cn ,user2@g.cn
通过outlook 添加pop3的邮件用户 分别为user1,user2 收发服务器全都写上linux的服务器主机ip 这样就可以测试了
在linux中通过postfix发邮件
第一种方式:
首先安装telnet-server ,telnet
yum -y install telnet-server*
yum -y install telnet
启动服务(也可以通过/etc/xinetd.d/telnet 这个配置文件把disable改成 no来启动)
chkconfig telnet on
service xinetd restart(这个是telnet服务端的服务进程)

[iyunv@localhost init.d]# telnet 127.0.0.1 25 [登录25号端口写邮件]
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 mail.g.cn ESMTP Postfix
mail from:root@g.cn  [邮件的发件人 回车]
250 2.1.0 Ok
rcpt to:user1@g.cn   [邮件的收件人回车]
250 2.1.5 Ok
data               [输入内容指令 回车]
354 End data with <CR><LF>.<CR><LF>
root -> user1   [邮件内容 回车]
.             [以点来结束邮件内容]
250 2.0.0 Ok: queued as AD3523B0E
quit                [退出登录]
221 2.0.0 Bye
Connection closed by foreign host.
[iyunv@localhost init.d]#
这样信件就发送成功了
使用
mail命令查看邮件状态
q退出
编写测试脚本
#!/bin/bash
#disk.sh
#发送主题为shell.... 内容为test的邮件给user1
echo " test" |mail user1@g.cn  -s  "shell...."
给脚本执行权限
chmod a+x disk.sh
编写报警脚本
touch apache.sh
touch mysql.sh
touch disk.sh
chmod a+x apache.sh mysql.sh disk.sh
apache.sh
#!/bin/bash
#apache.sh
nc  -w2  localhost 80
if [ $? -ne 0 ];then
echo "apache's 80 port is down,please restart apache process"|mail user1@g.cn  -s  "apache is shutdown"
service httpd restart
fi
mysql.sh
#!/bin/bash
#mysql.sh
nc  -w2  localhost 3306
if [ $? -ne 0 ];then
echo "mysql 3306 port is down,please restart mysql process"|mail user1@g.cn  -s  "mysql is shutdown"
service mysqld restart
fi
查看磁盘状态命令 df
disk.sh
#!/bin/bash
#disk.sh
#取出df命令的结果第三行第四列的值
num = df |awk 'NR==3{print int($4)}'  
if [ $num -gt 22 ]
then
echo "disk space is ${num}% , now > 22%" |mail user1@g.cn -s "disk space alerts"
fi
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-113862-1-1.html 上篇帖子: ubuntu下,使用postfix实现php发送mail功能。[转] 下篇帖子: 快速阅读《POSTFIX权威指南》
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表