向任何无效收件人地址发送电子邮件时,您会收到无法送达的电子邮件通知。 届时,如果您可能想从联系人中删除这些电子邮件地址,您可以使用本文中分享的方法ost.
您是否收到过无法送达的电子邮件通知,其中列出了无效的电子邮件地址? 通常,在将电子邮件发送到无效收件人地址后,您会收到此类电子邮件。 遇到这种情况,一般建议将这些邮箱地址从Outlook联系人中删除,以免下次不小心给他们发邮件。 下面就为大家分享一个快速获取的方法。
从联系人中删除无法送达电子邮件的无效收件人地址
- 对于作为tart、在Outlook窗口中,按“Alt+F11”访问VBA编辑器。
- 接下来,您可以将以下 VBA 代码放入未使用的项目或模块中。
Sub RemoveUndeliverableEmailAddressesfromContacts()
Dim objSelection As Outlook.Selection
Dim objContacts As Outlook.Items
Dim objMail As Outlook.MailItem
Dim i, n As Long
Dim objWordApp As Word.Application
Dim objWordDocument As Word.Document
Dim strEmailAddress As String
Dim strFilter As String
Dim objFoundContact As Outlook.ContactItem
'Get selected emails
Set objSelection = Application.ActiveExplorer.Selection
'Get the contacts
Set objContacts = Application.Session.GetDefaultFolder(olFolderContacts).Items
On Error Resume Next
For Each objMail In objSelection
objMail.Display
Set objWordDocument = objMail.GetInspector.WordEditor
Set objWordApp = objWordDocument.Application
Set objSearchRange = objWordDocument.Range
'Extract email addresses via wildcards
With objWordApp.Selection.Find
.Text = "[A-z,0-9]{1,}\@[A-z,0-9,.]{1,}"
.MatchWildcards = True
.Execute
End With
While objWordApp.Selection.Find.Found
strEmailAddress = objWordApp.Selection.Text
'Remove the invalid email addresses from the associated contacts
strFilter = "[Email1Address] = " & strEmailAddress
Set objFoundContact = objContacts.Find(strFilter)
If Not (objFoundContact Is Nothing) Then
With objFoundContact
.Email1Address = ""
.Email1DisplayName = ""
.Save
End With
strFilter = ""
Set objFoundContact = Nothing
Else
strFilter = "[Email2Address] = " & strEmailAddress
Set objFoundContact = objContacts.Find(strFilter)
If Not (objFoundContact Is Nothing) Then
With objFoundContact
.Email2Address = ""
.Email2DisplayName = ""
.Save
End With
strFilter = ""
Set objFoundContact = Nothing
Else
strFilter = "[Email3Address] = " & strEmailAddress
Set objFoundContact = objContacts.Find(strFilter)
If Not (objFoundContact Is Nothing) Then
With objFoundContact
.Email3Address = ""
.Email3DisplayName = ""
.Save
End With
strFilter = ""
Set objFoundContact = Nothing
End If
End If
End If
objWordApp.Selection.Find.Execute
Wend
objMail.Close olDiscard
Next
MsgBox "Completed!", vbInformation
End Sub
- 之后,关闭当前窗口。
- 稍后,将新宏添加到快速访问工具栏。 可以参考文章——》如何在 Outlook 中运行 VBA 代码“。
- 最后,您可以按照以下步骤运行此宏:
- 首先,选择“无法送达”的电子邮件。
- 然后,单击快速访问工具栏中的宏。
- 宏完成后,您将收到提示“已完成”的消息。
- 现在,您可以查看关联的联系人,其中无效的电子邮件地址已被删除,如下图所示:
解决 Outlook 错误和损坏
众所周知,由于各种原因,Outlook 可能会出现问题和损坏。 因此,如果您是 Outlook 的新手,最好做好一些有效的预防措施,例如定期备份数据,使用功能强大且可靠的 Outlook修复 实用程序,例如 DataNumen Outlook Repair,等等。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复sql 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com



