Ko pošiljate e-pošto na neveljavne naslove prejemnikov, boste prejeli obvestila o nedostavljeni e-pošti. Če želite te e-poštne naslove odstraniti iz stikov, lahko uporabite metodo, ki je opisana v tej objavi.
Ste že kdaj prejeli neprimerna e-poštna obvestila z neveljavnimi e-poštnimi naslovi? Na splošno boste takšna e-poštna sporočila prejemali po pošiljanju e-pošte na neveljavne naslove prejemnikov. V tem primeru običajno priporočamo, da te e-poštne naslove odstranite iz Outlookovih stikov, da jim naslednjič preprečite nenamerno pošiljanje pošte. Zdaj vam bomo v nadaljevanju delili hitro rešitev, kako jo dobiti.

Odstranite neveljavne naslove prejemnikov e-poštnih sporočil, ki jih ni mogoče dostaviti, iz imenika
- Za začetek v oknu Outlook pritisnite »Alt + F11« za dostop do urejevalnika VBA.
- Nato lahko v neuporabljeni projekt ali modul vstavite naslednjo kodo 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
- Po tem zaprite trenutno okno.
- Kasneje dodajte nov makro v orodno vrstico za hitri dostop. Lahko se sklicujete na članek - “Kako zagnati kodo VBA v Outlooku".
- Končno lahko ta makro zaženete tako, da sledite spodnjim korakom:
- Najprej izberite e-poštna sporočila »Ni mogoče dostaviti«.
- Nato kliknite makro v orodni vrstici za hitri dostop.
- Ko se makro konča, boste prejeli sporočilo »Dokončano«.
- Zdaj lahko preverite povezane stike, v katerih so bili odstranjeni neveljavni e-poštni naslovi, na primer spodnji posnetek zaslona:
Odpravite napake in korupcijo v Outlooku
Kot vsi vemo, lahko Outlook iz različnih razlogov postane izpostavljen težavam in poškodbam. Če ste torej začetnik v Outlooku, raje sprejmite nekaj učinkovitih varnostnih ukrepov, na primer redno varnostno kopiranje podatkov z uporabo zmogljivega in zanesljivega Outlook popravilo uporabnost, kot DataNumen Outlook Repair, in tako naprej.
Uvod avtorja:
Shirley Zhang je strokovnjakinja za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z obnoviti sql in obeti za popravilo programskih izdelkov. Za več informacij obiščite www.datanumen.com


