如何从端到端监控电子邮件服务?

我想监视服务器A上安装的电子邮件服务,从头到尾。 不只是小件(ping / SMTP / POP3 /加载/ …),但更接近用户的行为。

我正在考虑安装在服务器B上的脚本:

  • B向A发送一封电子邮件
  • A向B发送自动回复
  • B知道邮件服务工作正常。
  • 该testingB每30分钟重新启动一次。
  • 如果B没有收到回应,则发送警报消息。
  • B还可以控制电子邮件的往返传播。

但也许有更好的?

在调度程序上,perl,php或powershell脚本就是我所能想到的。

  • 发电子邮件
  • 查看电子邮件
  • 如果电子邮件没有在N分钟内收到,声音报警

如果蠕虫和其他服务这样做,将是整洁,但我不认为他们做…

***我假设B上的用户可以发送和接收电子邮件

在B上,您需要执行以下操作:

1)用以下命令创build文件/home/user/.forward

 "|/home/user/mail-handler.sh" 

这个脚本会把B收到的邮件转发到mail-handler.sh

2)创build文件/home/user/mail-handler.sh

这将读取自动回复电子邮件,并决定是否服务器是否好(我不会写这个脚本)

但是在mail-handler.sh:中处理数据的一个例子是mail-handler.sh:

 #!/bin/bash echo > /home/user/test.txt while read mail_data do echo $mail_data >> /home/user/test.txt done 

3)创build文件mail-sender.sh ,与:

 echo hello | mail -s "test" [email protected] 

这将发送电子邮件到A来testing它是否还活着

4)将mail-sender.sh添加到cron,每隔30分钟发送一次

  * / 30 * * * * /home/user/mail-sender.sh