如何为来自特定 sender/subject 的自动回复创建规则

How to create a rule for auto reply from a specific sender/subject

每天当 link/connection 分支机构出现故障时,我都会收到来自 NMS 的电子邮件警报。所有警报的主题电子邮件都是相同的,只是分支代码发生了变化。

例如:

分行代码:A01 and A02.

主题电子邮件是 " Connection to Branch A01 is Down " or "Connection to Branch A02 is Down"

第一次办理,必须回复,请当地联系人查设备

我想创建一个自动回复规则。邮件正文相同,但包含不同的分支代码和 PIC。

正文电子邮件模板是:

亲爱的"PIC",

根据电子邮件警报,与分支 "A02" 的连接已关闭。请重启调制解调器等

我想更改PIC 和代码分支。

您可以在 Outlook 中设置一条规则,该规则可能会触发 VBA 子。子应该如下所示:

Public Sub Test(mail as MailItem)
  '
End Sub

其中邮件对象表示传入的电子邮件。

您可以使用 Outlook 对象对项目进行任何修改并使用 Reply 方法回复项目。

Outlook 对象模型提供了三种处理项目正文的主要方式:

  1. Body.
  2. HTMLBody.
  3. Word 编辑器。 Inspector WordEditor 属性 class returns 表示消息正文的Word 文档实例。因此,您可以使用 Word 对象模型对邮件正文做任何您需要的事情。

有关详细信息,请参阅 Chapter 17: Working with Item Bodies

要获取 "branch code" 和 "PIC",您可以使用以下字符串函数:

Replace link -> 写回放并为 "branch code" 和 "PIC" 设置一个像“%branch%”和“%pic%”这样的虚拟对象.现在你用正确的信息替换这些假人。
Left link
Right link
Mid link -> LeftRightMid 三个函数可以 return 字符串的一部分。用它来提取正确的 "branch code" 和 "PIC".

希望对您有所帮助。亲切的问候,妮可

创建脚本规则并调用以下 vba。

Option Explicit
Public Sub Rply(olItem As Outlook.MailItem)
    Dim olReply As MailItem

    '// Branch A01
    If InStr(olItem.Subject, "Connection to Branch A01 is Down") Then
        Set olReply = olItem.ReplyAll
        olReply.Display
        olReply.Body = "Dear PIC " & vbNewLine & vbNewLine & _
                       "Based on email alert, Connection to the Branch A01 is down " & vbNewLine & vbNewLine & _
                       "Please restart the modem, etc. " & vbNewLine & vbNewLine
        '// Send
        olReply.Send
    Else
        '// Branch A02
        If InStr(olItem.Subject, "Connection to Branch A02 is Down") Then
            Set olReply = olItem.ReplyAll
            olReply.Display
            olReply.Body = "Dear PIC " & vbNewLine & vbNewLine & _
                           "Based on email alert, Connection to the Branch A02 is down " & vbNewLine & vbNewLine & _
                           "Please restart the modem, etc. " & vbNewLine & vbNewLine
            '// Send
            olReply.Send
        End If
    End If
End Sub