跳至主要内容

如何在Outlook中阻止发送邮件到特定地址?

Author: Xiaoyang Last Modified: 2025-07-31

一般来说,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邮件助手并体验吧


最佳 Office 办公效率工具

重磅消息:Kutools for Outlook 推出免费版本!

体验全新 Kutools for Outlook 免费版,70 多个强大功能,永久免费使用!点击立即下载!

🤖 Kutools AI 利用先进的AI技术轻松处理邮件,包括答复、总结、优化、扩展、翻译和撰写邮件。

📧 邮件自动化自动答复(支持POP和IMAP) /计划发送邮件 /发送邮件时根据规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将群发邮件拆分为单独邮件 ...

📨 邮件管理撤回邮件 / 按主题等方式阻止诈骗邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...

📁 附件专家批量保存 / 批量拆离 / 批量压缩 / 自动保存 / 自动拆离 / 自动压缩 ...

🌟 界面魔法😊更多精美个性表情 /重要邮件来临时提醒您 / 最小化而非关闭 Outlook ...

👍 一键高效操作带附件全部答复 /反钓鱼邮件 / 🕘显示发件人时区 ...

👩🏼‍🤝‍👩🏻 联系人与日历从选中的邮件批量添加联系人 / 将联系人组拆分为多个独立组 / 移除生日提醒 ...

使用 Kutools,支持英语、西班牙语、德语、法语、中文及40 多种其他语言,满足您的语言偏好!

一键解锁 Kutools for Outlook。无需等待,立即下载,提升办公效率!

kutools for outlook features1 kutools for outlook features2