GOOGOO 发表于 2007-8-11 23:08:12

MDaemon主管签审工具

最近开始学习MDaemon,发现他的功能真丰富,一般企业的需求都能满足了,而且也很简单。但是最近看到有同学问到MDaemon上是否有主管签审的功能,这个好像还没有。既然有人需要,那就研究一下吧。

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

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

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

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

备注:
下载地址为:
http://www.5dmail.net/bbs/attachments/month_0710/md_signer.rar

asionliang 发表于 2007-8-12 09:42:03

:handshake 期待

lwz_08 发表于 2007-8-12 12:25:11

关注

U-Mail 发表于 2007-8-12 14:28:03

研究出来奖励正版序列号一个

Hokings 发表于 2007-8-12 17:28:39

非常期待!这是我急需实现的一个功能,先谢了!

GOOGOO 发表于 2007-8-13 08:19:54

谢谢大家的支持,我尽力完成这个功能

规则应该怎么写呢?
Apply this rule to messages in the REMOTE queue
If the FROM HEADER contains 'kyk@toucantech.cn' or 'sale1@toucantech.cn' or 'sale2@toucantech.cn'
...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
测试了一下,发现了一个问题,邮件"审核"后不能发送到外部去,又回到了主管这里了,原来这个"审核"后的邮件和原来的邮件一样的,写好的规则没有办法识别审核过和未审核过的标志。

GOOGOO 发表于 2007-8-13 08:35:14

怎么加审核标志呢?

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

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

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

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

[ 本帖最后由 GOOGOO 于 2007-8-13 08:39 编辑 ]

GOOGOO 发表于 2007-8-13 08:45:27

复杂环节分析

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

说干就干,就写两个工具吧。:lol

vt-ok 发表于 2007-8-13 10:03:17

学习中,关注。

yijiande 发表于 2007-8-13 10:31:51

关注中,能实现最好。
页: [1] 2 3 4 5 6
查看完整版本: MDaemon主管签审工具