Notes 客户端 7.0 的自动回复程序

Notes 客户端 7.0 的自动回复程序

我正在使用 Notes 客户端(v 7.0)。我创建了一个带有电子邮件 ID 的邮件帐户[电子邮件保护]在此客户端中(显然在 Domino 服务器上也是如此)。我想自动回复发送到[电子邮件保护]主题行相同,且在主题行末尾附加“;SUCCESS”。

答案1

好的,您需要一个用户代理和在本地创建它的权限,因为您几乎肯定不会被允许在邮件数据库的服务器副本上创建它(除非您的 Domino 管理员是一群小丑)。这将要求在您的客户端上安装 Domino Designer,而不仅仅是 Notes。

然后,您可以设置代理按计划运行(例如,5 分钟)。然后编写一些 LotusScript 来处理已添加的相关文档。我从未成功地让我的脚本在“新邮件到达后”事件中正确运行,但您可能更幸运 :-)。

我编写的脚本都很简单,可以放入 Initialize 函数中。例如,下面的脚本会将收件箱中主题标题为“qwertyuiop”的所有邮件放入垃圾邮件文件夹。

Sub Initialize
    Dim s As New notessession
    Dim db As notesdatabase
    Dim view As NotesView
    Dim doc 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
            If Instr(doc.GetFirstItem("subject").Text, "qwertyuiop")  Then
                Call doc.RemoveFromFolder( "($InBox)")
                Call doc.PutInFolder( "junk")
            End If
            Set doc = view.GetNextDocument(doc)
        Wend
    End If
End Sub

您感兴趣的字段是subjectinetfrominetsendto(至少在我的邮件数据库中)。您可以通过右键单击其中一封邮件、选择“文档属性”并选择列出所有文档字段的第二个选项卡(三角形)来验证这一点。

创建回复电子邮件应该很简单,只需在邮件数据库中创建一个新文档并调用“ newdoc.send(true,true)”。我以前从来没有这样做过,但我将以下示例代码拼凑在一起,它似乎可以工作(但修复错误是您的责任,不是我的 :-)。

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  And Right(subj,8) <> " SUCCESS" 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

答案2

我对 Notes 了解不多,不知道这是 IBM 的设置问题还是普遍问题,但我们收到的“外出”代理会向邮件列表发送 OOO 消息,这是反社会的。因此,我将其配置为不响应从外部(Internet)电子邮件地址发送的消息 - 只响应内部(Notes 样式)电子邮件地址发送的消息。

您可以在邮件列表中找到 IBM 员工 - 他们是用 OOO 消息回复的人。(还有其他人,但是...)

相关内容