如何在转发 Outlook 电子邮件时自动删除原始发件人和收件人的电子邮件地址

立即分享:

在 Outlook 中转发电子邮件时,原始发件人和收件人的电子邮件地址会包含在邮件正文中。出于安全考虑,此时最好删除这些地址。本文将教您如何让 Outlook 自动执行此操作。

在许多情况下,您需要将一些电子邮件转发给其他人。 默认情况下,原始邮件的标题将显示在转发邮件的正文中。 标头将包含原始发件人和收件人的电子邮件地址。 此时,为了安全或隐私,您可能希望删除这些电子邮件地址。 然而,手动删除它们太繁琐了。 因此,在这里我们将指导您让您的 Outlook 代表您自动完成此任务。转发 Outlook 电子邮件时自动删除原始发件人和收件人的电子邮件地址

转发电子邮件时自动删除原始发件人和收件人的电子邮件地址

  1. 首先,启动 Outlook。
  2. 然后,按“Alt + F11”键按钮访问 VBA 编辑器。
  3. 接下来,将以下 VBA 代码复制到“ThisOutlookSession”项目中。
Public WithEvents objExplorer As Outlook.Explorer
Public WithEvents objInspectors As Outlook.Inspectors
Public WithEvents objMail As Outlook.MailItem

Private Sub Application_Startup()
    Set objExplorer = Outlook.Application.ActiveExplorer
    Set objInspectors = Outlook.Application.Inspectors
End Sub

Private Sub objExplorer_Activate()
    On Error Resume Next
    If objExplorer.Selection.Item(1).Class = olMail Then
       Set objMail = objExplorer.Selection.Item(1)
    End If
End Sub

Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
    If Inspector.CurrentItem.Class = olMail Then
       Set objMail = Inspector.CurrentItem
    End If
End Sub

Private Sub objMail_Forward(ByVal Forward As Object, Cancel As Boolean)
    Dim objRegExp As Object
    Dim strHTMLBody As String
 
    Forward.Display
    strHTMLBody = Forward.HTMLBody
 
    'Find email addresses in the body via Regular Expression
    Set objRegExp = CreateObject("vbscript.RegExp")
    With objRegExp
        .Pattern = "(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|""(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*"")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"
        .IgnoreCase = True
        .Global = True
    End With
 
    'Remove email addresses
    If objRegExp.Test(strHTMLBody) Then
       Set objFoundResults = objRegExp.Execute(strHTMLBody)
       For i = 1 To objFoundResults.Count
           Forward.HTMLBody = Replace(Forward.HTMLBody, objFoundResults.Item(i - 1).Value, "")
       Next
    End If
 
    'Remove useless characters
    Forward.HTMLBody = Replace(Forward.HTMLBody, "[mailto:]", "")
    Forward.HTMLBody = Replace(Forward.HTMLBody, "()", "")
End Sub

将 VBA 代码放入 ThisOutlookSession 项目

  1. 之后,重启 Outlook 程序以激活此新宏。
  2. 最终,您可以拍摄:
  • 选择或打开电子邮件。
  • 然后,单击“响应”组中的“转发”按钮。转发邮件
  • 最后,将显示一个新的转发邮件,其中原始发件人和收件人的电子邮件地址已被删除。转发时自动删除电子邮件地址

在 Outlook 损坏的情况下冷静下来

当您的 Outlook 遇到任何问题时,您可能会感到恐慌,害怕 前景腐败. 然而,老实说,匆忙和担心通常会导致您的 Outlook 出现许多其他问题。 因此,在相关案件中,不要恐慌,要保持冷静。 更重要的是,如果您拥有强大的 PST 修复工具,例如 DataNumen Outlook Repair,您可以简单地使用它来解决 Outlook 问题。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。