邮件网关监控

     几个月前做了邮件网关,随着邮件应用的增多,通过邮件网关发送的邮件数量也不断增加。邮件网关停止工作后对用户的影响也越来越大。

     邮件网关监控的一个实现思路就是定期通过该邮件网管发送一封邮件,然后去查看是否有收到该邮件。这次通过做这个监控系统,越来越感觉到python的便捷性了,提供的poplib和email模块便可完成该工作,且核心实现源码就那么几十行。

     该监控程序放在crontab中,每隔五分钟运行一次。每次运行时通过邮件网关发送一封测试邮件至指定邮箱。给与这封邮件较高的优先级。因为如果优先级给低了,邮件网关中有大量的邮件的话,我们就需要很长一段时间才能收到由监控程序发出的邮件,这样就对监控程序不方便。我们需要记录下刚才测试邮件的唯一主题标识。然后让监控程序sleep几秒钟(这个根据实际情况定义,这样是为了让监控程序有相对充裕的时间收到测试邮件),接着通过pop3去收件箱收取邮件,找出是否有之前那封测试邮件。这里python的email模块提供了非常便捷的MIME解码的函数。如果没有找到测试邮件就使用短信发送告警信息到相关人员。若找到就删除该测试邮件

你可能感兴趣的:(工作,python)