2009-02-25 77 views

回答

2

很简单。

您需要做的是在邮件数据库中创建一个处理传入邮件的代理(这将需要Domino Designer和邮件数据库中的相应权限)。

根据您的要求,您可以定期(例如每小时一次)或特定事件(例如,新邮件到达时)触发座席。

我曾经写过的所有代理都在LotusScript(VBA)中,他们可以扫描数据库中的文档,检查状态,标题等,以决定要做什么。

我为这里的某个人写了一封最近的一封。被调用时,它基本上通过InBox检查包含“qwertyuiop”的主题标题的每个文档,并创建一个响应电子邮件给发件人,其中包含追加了“SUCCESS”的相同主题的发件人。

然后它将文档从InBox移动到垃圾文件夹。这个特定的代理每60分钟运行一次,因为不需要立即响应。你应该能够从代码中获取意图。

Sub Initialize 
    Dim s As New notessession 
    Dim db As notesdatabase 
    Dim view As NotesView 
    Dim doc As NotesDocument 
    Dim olddoc As NotesDocument 
    Dim subj As String 
    Dim newdoc As NotesDocument 

    Set db = s.CurrentDatabase 
    Set view = db.GetView("($InBox)") 
    If Not view Is Nothing Then 
     Set doc = view.GetFirstDocument 
     While Not doc Is Nothing 
      Set olddoc = doc 
      Set doc = view.GetNextDocument(doc) 
      subj = olddoc.GetFirstItem("subject").Text 
      If Instr(subj, "qwertyuiop") > 0 Then 
       Set newdoc = New NotesDocument(db) 
       newdoc.SendTo = olddoc.GetFirstItem("inetfrom").Text 
       newdoc.subject = subj & " SUCCESS" 
       newdoc.form = "Memo" 
       Call newdoc.send(True,True) 
       Call olddoc.RemoveFromFolder("($InBox)") 
       Call olddoc.PutInFolder("junk") 
      End If 
     Wend 
    End If 
End Sub 

您可能需要的是对其进行轻微修改,这将打开一个不同的数据库并根据邮件文档更改其中的文档。

您真正需要的只是电子邮件中的一个关键字,它可以识别辅助数据库中哪些文档应该更改,以及一些可以应用基于邮件内容的更改的逻辑。

这是留给读者的练习。我给你的东西应该足以开始了(当你玩这个游戏的时候再问一个问题)。

1

很简单。在Notes中,您可以将任何数据库设置为电子邮件的目标。它获得自己的电子邮件ID(例如[email protected])。然后,您编写一个运行于“新电子邮件到达时”的代理。新文档位于session.currentdatabase.unprocesseddocuments集合中。当然,您的电子邮件中必须包含一些内容,以便您确定要更新的文档。 Notes在内部使用NotesDocumentUniqueID作为主键,但我想你宁愿选择一个业务领域。使用NotesMimeEntry,您可以通过电子邮件发送表单等方式访问电子邮件中的HTML格式的内容。

相关问题