Bri*_*ott 3 email permissions outlook extended-properties smtp
我目前编写的代码使用通常的SMTPClient和MailMessage对象在C#中发送电子邮件.
我的新要求是发送的电子邮件应设置"权限",就像用户通过Outloook发送电子邮件并使用功能区工具栏中的选项一样.要设置的权限是"不转发"选项.
在此处访问我希望在发送电子邮件时模拟的选项;

任何人都可以提供一些样本.Net代码来实现这一点,或者在线提供一个很好的代码参考?
布莱恩,提前谢谢.
小智 5
首先,我不知道如何只使用标准SMTP消息(MailMessage)设置IRM(信息权限管理)权限.我认为,IRM权限完全是以Outlook/Exchange为中心的,并且在SMTP标准中缺少任何形式的表示.
您可以通过Outlook Interop程序集通过Outlook对象模型启用该权限的唯一方法.我上面的IamStalker建议使用Redemption,虽然99%的时间是与Outlook相关的所有内容的正确答案,但这不是解决这个特定问题的方法.因为IRM(据我所知)在MAPI中没有任何代表,所以Redemption在这里没有多大帮助; 我不相信我曾经在Redemption的对象模型上看到过与IRM相关的属性.
您很可能对MailItem对象类型公开的Permission属性感兴趣.看来,为了以编程方式打开"不转发"选项,您需要将该属性的值设置为OlPermission.olDoNotForward.
还有另一个与IRM相关的属性(PermissionTemplateGuid),但由于您使用的是内置"权限",因此您可以将其保留为空字符串.
我假设所有其他与IRM相关的设置都是通过用户的Outlook配置文件提供给Outlook的.
祝好运!