如何从 Outlook 联系人中快速删除无法送达电子邮件的无效收件人地址

立即分享:

向任何无效收件人地址发送电子邮件时,您会收到无法送达的电子邮件通知。 届时,如果您可能想从联系人中删除这些电子邮件地址,您可以使用本文中分享的方法ost.

您是否收到过无法送达的电子邮件通知,其中列出了无效的电子邮件地址? 通常,在将电子邮件发送到无效收件人地址后,您会收到此类电子邮件。 遇到这种情况,一般建议将这些邮箱地址从Outlook联系人中删除,以免下次不小心给他们发邮件。 下面就为大家分享一个快速获取的方法。

从 Outlook 联系人中快速删除无法送达电子邮件的无效收件人地址

从联系人中删除无法送达电子邮件的无效收件人地址

  1. 对于作为tart、在Outlook窗口中,按“Alt+F11”访问VBA编辑器。
  2. 接下来,您可以将以下 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

VBA 代码 - 从联系人中删除无法送达电子邮件的无效收件人地址

  1. 之后,关闭当前窗口。
  2. 稍后,将新宏添加到快速访问工具栏。 可以参考文章——》如何在 Outlook 中运行 VBA 代码“。
  3. 最后,您可以按照以下步骤运行此宏:
  • 首先,选择“无法送达”的电子邮件。
  • 然后,单击快速访问工具栏中的宏。通过快速访问工具栏触发宏
  • 宏完成后,您将收到提示“已完成”的消息。
  • 现在,您可以查看关联的联系人,其中无效的电子邮件地址已被删除,如下图所示:删除无效的电子邮件地址

解决 Outlook 错误和损坏

众所周知,由于各种原因,Outlook 可能会出现问题和损坏。 因此,如果您是 Outlook 的新手,最好做好一些有效的预防措施,例如定期备份数据,使用功能强大且可靠的 Outlook修复 实用程序,例如 DataNumen Outlook Repair,等等。

作者简介:

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

立即分享:

评论被关闭。