ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 61165|回复: 56
打印 上一主题 下一主题

[原创] MDaemon主管签审工具

[复制链接]
跳转到指定楼层
顶楼
发表于 2007-8-11 23:08:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近开始学习MDaemon,发现他的功能真丰富,一般企业的需求都能满足了,而且也很简单。但是最近看到有同学问到MDaemon上是否有主管签审的功能,这个好像还没有。既然有人需要,那就研究一下吧。

签审是什么啊?
签审就是某个发送一个外部的邮件的时候,需要通过一个指定的“主管”看一下,然后由这个主管决定是否可以发送这
个邮件。

MDaemon中如何来实现这个过程呢?
我发现MDaemon中有一个功能在处理远程队列的前可以调用一个外部程序。我想这个是一个机会让我来操作这个邮件。但是这个调用需要阻塞主进程了,万一我的程序没写好,那不是要影响主进程了,这个责任太大了,不好不好。
后来发现MDaemon中有一个叫过滤器的东东,看了一下,那可是一个宝啊,好像可以实现很多自定义的操作。粗粗一看,有门。

过滤器如何来模拟签审过程?
过滤器可以分析当发送人是xxx的时候做一些指定的动作。然后移动到一个公共文件夹。设置这个文件夹的访问权限,让主管可以看这个文件夹,这样一来,签审过程就实现了啊。

将思路理清楚后,就开始验证是否可以实现签审的过程。在后面的贴中,会将我实践的过程记录下来。作为一个MDaemon新手,我就把这个过程当作学习MDaemon的过程,解决问题是提高的捷径,请各位大侠请多多支持。

备注:
下载地址为:
http://www.5dmail.net/bbs/attachments/month_0710/md_signer.rar
沙发
发表于 2007-8-12 09:42:03 | 只看该作者
期待
藤椅
发表于 2007-8-12 12:25:11 | 只看该作者
关注
板凳
发表于 2007-8-12 14:28:03 | 只看该作者
研究出来奖励正版序列号一个
报纸
发表于 2007-8-12 17:28:39 | 只看该作者
非常期待!这是我急需实现的一个功能,先谢了!
地板
 楼主| 发表于 2007-8-13 08:19:54 | 只看该作者
谢谢大家的支持,我尽力完成这个功能

规则应该怎么写呢?
Apply this rule to messages in the REMOTE queue
If the FROM HEADER contains [email=]'kyk@toucantech.cn'[/email] or [email=]'sale1@toucantech.cn'[/email] or [email=]'sale2@toucantech.cn'[/email]
...then copy this message to "GOOGOO@toucantech.cn"
   and delete this message
1.应用这个规则于远程队列,一般公司就对发送倒外部的邮件进行签审,所以用REMOTE queue就可以了
2.判断邮件信头中的FROM段,从这里可以获得发送人的身份,如果需要对多个用户进行签审可以用or连接一个一个写下去
3.复制邮件给这个主管GOOGOO@toucantech.cn
4.删除这个邮件.从流程上看,这个邮件应该在主管这里了,所以远程队列中的邮件就不需要了,要不这个邮件又会发走的.我象找一个move的功能,没有找到,只有用3+4来实现move的功能了.
测试了一下,sales1@toucantech.cn发送的邮件都到了googoo@toucantech.cn的信箱中了.而且的信件中的内容没有做任何的改动.第一步实现了.

主管怎么看呢?
大家做好思想准备啊,这个过程有点长啊.
1.使用一个邮件客户端把这个邮件接收下来,注意这个邮件客户端要有再次发送的功能,我用了FOXMail
2.这个客户端收到后,主管看一下后,把这个邮件(来自sale1@toucantech.cn,发送到 外部用户 ),如果可以再次发送一下,外部用户看到还是从sale1@toucantech.cn发送过来的邮件,如果不可以就直接回复给sale1@toucantech.cn
测试了一下,发现了一个问题,邮件"审核"后不能发送到外部去,又回到了主管这里了,原来这个"审核"后的邮件和原来的邮件一样的,写好的规则没有办法识别审核过和未审核过的标志。
7
 楼主| 发表于 2007-8-13 08:35:14 | 只看该作者
怎么加审核标志呢?

考虑到内容过滤器可以分析信件中所有的内容,所以必须在信头或者信信体中添加一些标志,表示审核过了.

最简单的是再次发送的时候在出题中加入一个约定的标志比如[以签审],然后在内容过滤器的规则中添加一条
and If the SUBJECT HEADER does not contains '[已审核]'

注意
1. 是does not contains,表示如果发现[已审核]就不要再签审了,
2. 使用and连接
这样测试了一下,审核后的邮件终于可以正常发送了

整个签审的环节是跑通了.但是过程太复杂了,估计头头脑脑会用的火冒三丈,是否可以简单一点的实现这个功能呢?

[ 本帖最后由 GOOGOO 于 2007-8-13 08:39 编辑 ]
8
 楼主| 发表于 2007-8-13 08:45:27 | 只看该作者
复杂环节分析

1.审核的设置太复杂
2.主管审核的过程太复杂
因为这些功能都是"非标准的",所以我找不到现成的工具来优化这些实现方法。其实自己写一个,不对,是两个工具也不会话很多时间。
一个是审核规则编辑器
一个是主管审核工具

说干就干,就写两个工具吧。
9
发表于 2007-8-13 10:03:17 | 只看该作者
学习中,关注。
10
发表于 2007-8-13 10:31:51 | 只看该作者
关注中,能实现最好。
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-11-20 09:42

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

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