เมื่อส่งอีเมลไปยังที่อยู่ผู้รับที่ไม่ถูกต้อง คุณจะได้รับการแจ้งเตือนว่าอีเมลส่งไม่ถึง ในกรณีนั้น หากคุณต้องการลบที่อยู่ผู้รับเหล่านั้นออกจากรายชื่อผู้ติดต่อ คุณสามารถใช้วิธีการที่ได้แชร์ไว้ในโพสต์นี้ได้
คุณเคยได้รับการแจ้งเตือนทางอีเมลที่ไม่สามารถจัดส่งได้โดยระบุที่อยู่อีเมลที่ไม่ถูกต้องหรือไม่? โดยทั่วไป คุณจะได้รับอีเมลดังกล่าวหลังจากที่คุณส่งอีเมลไปยังที่อยู่ผู้รับที่ไม่ถูกต้อง ในสถานการณ์นี้ โดยทั่วไปแนะนำให้ลบที่อยู่อีเมลเหล่านี้ออกจากที่ติดต่อ Outlook เพื่อป้องกันการส่งอีเมลไปยังที่อยู่ติดต่อเหล่านั้นในครั้งถัดไปโดยไม่ตั้งใจ ต่อไปนี้เราจะแบ่งปันวิธีแก้ปัญหาอย่างรวดเร็วให้คุณ

ลบที่อยู่ผู้รับที่ไม่ถูกต้องของอีเมลที่ไม่สามารถจัดส่งออกจากผู้ติดต่อ
- ขั้นแรก ในหน้าต่าง 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
- หลังจากนั้นปิดหน้าต่างปัจจุบัน
- ต่อมา ให้เพิ่มแมโครใหม่ลงในแถบเครื่องมือด่วน คุณสามารถดูบทความ - “วิธีเรียกใช้รหัส VBA ใน Outlook ของคุณ"
- สุดท้ายนี้ คุณสามารถเรียกใช้แมโครนี้ได้โดยทำตามขั้นตอนด้านล่าง:
- ในตอนแรก เลือกข้อความอีเมล “ไม่สามารถส่งได้”
- จากนั้นคลิกแมโครในแถบเครื่องมือด่วน
- เมื่อมาโครเสร็จสิ้น คุณจะได้รับข้อความแจ้งว่า "เสร็จสมบูรณ์"
- ตอนนี้คุณสามารถตรวจสอบผู้ติดต่อที่เกี่ยวข้อง ซึ่งที่อยู่อีเมลที่ไม่ถูกต้องได้ถูกลบออกแล้ว เช่นภาพหน้าจอด้านล่าง:
แก้ไขข้อผิดพลาด Outlook และการทุจริต
อย่างที่เราทราบกันดีว่า Outlook สามารถประสบปัญหาและการทุจริตได้ด้วยเหตุผลหลายประการ ดังนั้น หากคุณเป็นมือใหม่ใน Outlook คุณควรใช้มาตรการป้องกันที่มีประสิทธิภาพ เช่น การสำรองข้อมูลเป็นระยะ โดยใช้เครื่องมือที่มีประสิทธิภาพและเชื่อถือได้ ซ่อมแซม Outlook ยูทิลิตี้เช่น DataNumen Outlook Repair, และอื่น ๆ
บทนำผู้เขียน:
Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ กู้คืน sql และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.


