自动删除过期邮件的代理

Tsipporah 2003-08-22 11:17:53
后台中运行一代理自动清除30天前的用户邮件,代码大致如下:
Call datetime.SetNow
Call DateTime.AdjustDay(-31)
Set docdate=New NotesDateTime("")

Set db = dbdir.GetFirstDatabase(DATABASE)
While Not(db Is Nothing)
If Left(db.filepath,5)="mail/" Then
Call db.Open("","")
Set dc=db.AllDocuments
Set doc=dc.GetFirstDocument
x=0
Do While Not(doc Is Nothing)
docdate.LSLocalTime=doc.Created
Set docnext=dc.GetNextDocument(doc)
If ((doc.Form(0)="" Or doc.Form(0)="Memo" ) And datetime.TimeDifference(docdate)>0) Then
Call doc.Remove(True)
x=x+1
End If
Set doc=docnext
Loop
Messagebox "执行完毕 " & db.Title & " 邮件数据库 " & x & " 个邮件删除!"
End If
Set db = dbdir.GetNextDatabase
Wend

cs结构,用户邮件使用notes自带的邮件模板,该代理能按时运行,问题是它只删除用户收件箱中的过期邮件,而发件箱的过期邮件不作处理,在用户的惯用选项中,发送邮件总保持一份拷贝,由于每个用户的邮箱大小有限,致使经常爆满。我的意图是删除邮箱中所有的过期文档,该代理应该如何修正呢?请指教,谢谢!
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyuer0851 2003-08-23
  • 打赏
  • 举报
回复
呵呵, 不错,学习ing……
chenyg2000 2003-08-22
  • 打赏
  • 举报
回复
If ((doc.Form(0)="" Or doc.Form(0)="Memo" ) And datetime.TimeDifference(docdate)>0) Then
Call doc.Remove(True)
x=x+1
End If
这里要修改,你查看一下已发件的相关域属性

535

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 Exchange Server
社区管理员
  • 消息协作社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧