在 Outlook 中转发电子邮件时,原始发件人和收件人的电子邮件地址会包含在邮件正文中。出于安全考虑,此时最好删除这些地址。本文将教您如何让 Outlook 自动执行此操作。
在许多情况下,您需要将一些电子邮件转发给其他人。 默认情况下,原始邮件的标题将显示在转发邮件的正文中。 标头将包含原始发件人和收件人的电子邮件地址。 此时,为了安全或隐私,您可能希望删除这些电子邮件地址。 然而,手动删除它们太繁琐了。 因此,在这里我们将指导您让您的 Outlook 代表您自动完成此任务。
转发电子邮件时自动删除原始发件人和收件人的电子邮件地址
- 首先,启动 Outlook。
- 然后,按“Alt + F11”键按钮访问 VBA 编辑器。
- 接下来,将以下 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
- 之后,重启 Outlook 程序以激活此新宏。
- 最终,您可以拍摄:
- 选择或打开电子邮件。
- 然后,单击“响应”组中的“转发”按钮。
- 最后,将显示一个新的转发邮件,其中原始发件人和收件人的电子邮件地址已被删除。
在 Outlook 损坏的情况下冷静下来
当您的 Outlook 遇到任何问题时,您可能会感到恐慌,害怕 前景腐败. 然而,老实说,匆忙和担心通常会导致您的 Outlook 出现许多其他问题。 因此,在相关案件中,不要恐慌,要保持冷静。 更重要的是,如果您拥有强大的 PST 修复工具,例如 DataNumen Outlook Repair,您可以简单地使用它来解决 Outlook 问题。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com


