You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VB.net或PowerShell发送带Encrypt-Only权限的Outlook邮件

刚好我之前研究过这个问题——Encrypt-Only权限确实没法直接通过Outlook Interop自带的Permission枚举设置,因为它不在olDoNotForward、olPermissionTemplate、olUnrestricted这三个选项里。不过别担心,我们可以直接操作MAPI属性来实现,不管是PowerShell还是VB.NET都能搞定,我给你贴具体代码:

PowerShell 实现方案

PowerShell里可以借助Outlook的PropertyAccessor来直接设置对应的MAPI属性,代码如下:

# 初始化Outlook应用
$outlook = New-Object -ComObject Outlook.Application
$mail = $outlook.CreateItem(0) # 0对应olMailItem

# 配置邮件基础信息
$mail.Subject = "测试仅加密邮件"
$mail.Body = "这是一封启用Encrypt-Only权限的测试邮件"
$mail.To = "your-recipient@domain.com"

# 关键:设置PR_SECURITY_FLAGS属性为2,对应Encrypt-Only权限
$mapiProperty = "http://schemas.microsoft.com/mapi/proptag/0x6E010003"
$mail.PropertyAccessor.SetProperty($mapiProperty, 2)

# 发送邮件(可以先换成$mail.Display()预览确认效果)
$mail.Send()

# 清理COM对象,避免内存泄漏
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($mail) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($outlook) | Out-Null

VB.NET 实现方案

VB.NET里同样通过PropertyAccessor操作MAPI属性,代码示例:

Imports Microsoft.Office.Interop.Outlook

Module EncryptOnlyMailSender
    Sub Main()
        Dim outlookApp As New Application()
        Dim mailItem As MailItem = outlookApp.CreateItem(OlItemType.olMailItem)

        ' 设置邮件基本内容
        mailItem.Subject = "测试仅加密邮件"
        mailItem.Body = "这是一封启用Encrypt-Only权限的测试邮件"
        mailItem.To = "your-recipient@domain.com"

        ' 设置Encrypt-Only对应的MAPI属性
        Dim mapiProperty As String = "http://schemas.microsoft.com/mapi/proptag/0x6E010003"
        mailItem.PropertyAccessor.SetProperty(mapiProperty, 2)

        ' 发送邮件(调试时可以用mailItem.Display()先预览)
        mailItem.Send()

        ' 释放COM资源
        System.Runtime.InteropServices.Marshal.ReleaseComObject(mailItem)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(outlookApp)
    End Sub
End Module

注意事项

  • 确保你的机器上已经安装并配置好Outlook客户端,因为这个方案依赖Outlook的COM组件
  • 运行代码时需要有足够的权限访问Outlook(比如不要以管理员身份运行,避免权限冲突)
  • 测试阶段建议先用Display()方法打开邮件预览,确认顶部是否显示“已加密”标识,且没有“不可转发”的限制,再执行发送

内容的提问来源于stack exchange,提问作者The Bot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 08:22:28