0

是否可以像 posterous 一样通过电子邮件更新 Lotus Notes 中的条目?如果可能的话,我该怎么做?谢谢。

4

2 回答 2

2

很容易。

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

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

我写过的所有代理都是用 LotusScript(一种 VBA)编写的,它们可以扫描数据库中的文档,检查状态、标题等,以决定做什么。

我最近为这里的某个人写的一篇如下。当被调用时,它基本上会通过收件箱检查每个文档是否有包含“qwertyuiop”的主题标题,并创建一封回复电子邮件给发件人,其中包含带有“SUCCESS”的相同主题。

然后它将文档从收件箱移动到垃圾文件夹。由于不需要立即响应,因此该特定代理每 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

您可能需要对此稍作修改,这将打开一个不同的数据库并根据邮件文档更改其中的文档。

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

这留给读者作为练习。我给你的应该足以让你开始(当你玩过这个时再问一个问题)。

于 2009-02-25T07:56:14.473 回答
1

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

于 2009-06-30T13:17:57.843 回答