新邮件到达后执行的代理怎样判断新邮件的?
情况:假设我的服务器为A,B服务器为我的上级,A与B通过邮件的方式相互传输文件。收到文件后都要向对方发出反馈。
我在我的服务器A设置了一个自动执行的代理,把接收到的公文转换到我的公文库中,并向上级B发出反馈。这个代理的执行条件为“新邮件到达后”,代理构造器为:“新近接收到的邮件文档”
现在出现如下故障:每当有新邮件到达以后,我的新邮件到达后代理就会执行,除了正常的转换以外,总会有几个已经已经执行过的文档又执行了一边,每次我的公文库多了几分老的文档,还向上级B多发了几分反馈。
现在可以排除上级服务器B的问题,B不可能向我多发,唯一的可能是我的代理有问题,我的代理把旧的邮件文档又识别成新邮件文档,又转换了一次。
我想问的重点是:
1,新邮件到达后代理是怎样区分新旧邮件的?
2,我的代码大体如下所示,错在哪里了??
Sub Initialize
Dim s As NotesSession
Dim db As NotesDatabase
Dim clt As notesdocumentcollection
Dim Maildoc As notesdocument
Dim doc As notesdocument
Dim Tdoc As notesdocument
Dim i As Integer
Set s =New notessession
Set db = s.CurrentDatabase
Set clt = db.UnprocessedDocuments
Set MailDoc=clt.getfirstdocument
While (Not MailDoc Is Nothing)
......
转换
......
Call Tdoc.save(True,True)
Set doc = New NotesDocument( db )
doc.Form = "Memo"
.........生成反馈..............
Call doc.save(True,True)
Call doc.Send( True )
'Call MailDoc.remove(True)
Set MailDoc=clt.getnextdocument(MailDoc)
Wend
End Sub