Skip to main content

如何在Outlook中阻止寄送郵件到特定地址?

Author: Xiaoyang Last Modified: 2025-05-12

一般來說,Outlook會將郵件發送到所有正常的郵件地址,無法阻止寄送郵件到某個特定的郵件地址。但是,有時候您可能需要防止在Outlook中向特定的郵件地址發送郵件。在這種情況下,本教程將介紹一個用於解決此任務的VBA代碼。


使用VBA代碼阻止寄送郵件到特定地址

以下VBA代碼可以幫助您完成此操作,請按照以下步驟進行:

1. 啟動Outlook,然後按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 接著,雙擊 Project-Project1 窗格中的 ThisOutlookSession,然後將以下代碼複製並粘貼到空白的代碼窗口中:

VBA代碼:阻止寄送郵件到特定地址

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
'Updatby ExtendOffice
Dim xMail As Outlook.MailItem
Dim xRecipients As Outlook.Recipients
Dim xContactGroupFound As Boolean
Dim i, n As Long
Dim xRecipient As Outlook.Recipient
Dim xAddress As String
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
On Error Resume Next
If Item.Class <> olMail Then Exit Sub
Set xMail = Item
xContactGroupFound = True
Do While xContactGroupFound = True
  Set xRecipients = xMail.Recipients
  xContactGroupFound = False
  For i = xRecipients.Count To 1 Step -1
    If xRecipients(i).AddressEntry.DisplayType <> olUser Then
      For n = 1 To xRecipients(i).AddressEntry.Members.Count
        If xRecipients(i).AddressEntry.Members.Item(n).DisplayType = olUser Then
          xMail.Recipients.Add (xRecipients(i).AddressEntry.Members.Item(n).Address)
        Else
          xMail.Recipients.Add (xRecipients(i).AddressEntry.Members.Item(n).Name)
          xContactGroupFound = True
        End If
      Next
      xRecipients(i).Delete
    End If
  Next i
  xRecipients.ResolveAll
Loop
For Each xRecipient In xRecipients
  xAddress = xRecipient.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
  If VBA.Trim(xAddress) = "" Then
    xAddress = xRecipient.Address
  End If
  If xAddress = "yy@addin99.com" Then    'change this email address to your need
    If MsgBox("Do you want to email to " & Chr(34) & xAddress & Chr(34) & "?", vbExclamation + vbYesNo, "Kutools for Outlook") = vbNo Then
      xRecipient.Delete
    End If
  End If
Next
If xMail.Recipients.Count = 0 Then
  Cancel = True
End If
End Sub
注意:在上述代碼中,您應該將郵件地址更改為您自己的地址。

doc-block-email-to-an-address-1

3. 然後,保存並關閉此代碼窗口。現在,當發送郵件時,如果在收件人列表中找到特定的郵件地址,將彈出如下截圖所示的提示消息。點擊「否」,該特定的郵件地址將立即被移除。

doc-block-email-to-an-address-2

4. 發送郵件後,您可以在已傳送郵件文件夾中檢查其收件人,該特定的郵件地址已被從收件人中排除,見截圖:

doc-block-email-to-an-address-3

Outlook中的AI郵件助理:更聰明的回覆,更清晰的溝通(一鍵奇蹟!) 免費

使用Kutools for Outlook的AI郵件助理簡化您的日常Outlook任務。這個強大的工具會從您過去的郵件中學習,提供智能且準確的答覆,優化您的郵件內容,並幫助您輕鬆起草和潤色郵件。
doc ai email handle

此功能支援:

  • 智能回覆:根據您過去的對話獲得量身定制、精確且隨時可用的回覆。
  • 增強內容:自動優化您的郵件文字以提高清晰度和影響力。
  • 輕鬆撰寫:只需提供關鍵字,讓AI處理其餘部分,並有多種寫作風格可供選擇。
  • 智能擴展:通過上下文感知建議來拓展您的思路。
  • 摘要生成:即時獲取長郵件的簡潔概述。
  • 全球觸及:輕鬆將您的郵件翻譯成任何語言。

此功能支援:

  • 智能郵件回覆
  • 優化的內容
  • 基於關鍵字的草稿
  • 智能內容擴展
  • 郵件摘要生成
  • 多語言翻譯

最重要的是,此功能永遠完全免費不要再等待了——立即下載AI郵件助理並享受吧