我一直在尝试应用敏感度标签并使用MIP和MailMessage发送电子邮件。
基于 MipSdk-DotNet-Policy-Quickstart 项目,我 添加了选项元数据Enabled: True
和SiteId: xxxx..
,并将内容格式设置为Microsoft.InformationProtection.Policy.ContentFormat.Email
。
计算操作后,我获得了带有mips_label键和模板 ID 的元数据。 使用message.Headers.Add("msip_labels", "xxx")
将mips_label添加到邮件中会将它们添加到电子邮件中,但在收到时不会应用标签。
可以通过 Outlook 客户端添加标签。我的方法有问题吗?另外,此方法可用于使用 MIP SDK 添加加密?
下面是一些用于获取操作数据的代码片段:
ExecutionStateOptions options = new ExecutionStateOptions();
options.newLabel = action.GetLabelById(label.Id);
options.actionSource = ActionSource.Automatic;
options.assignmentMethod = AssignmentMethod.Privileged;
options.contentFormat = Microsoft.InformationProtection.Policy.ContentFormat.Email;
//options.contentIdentifier = "MyTestFile.pptx";
options.dataState = DataState.Use;
options.isDowngradeJustified = false;
options.generateAuditEvent = true;
options.metadata = new Dictionary<string, string>();
options.metadata.Add("Enabled", "True");
options.metadata.Add("SiteId", "xxxxxxx");
提前致谢
我找到了一种使用 MIP 标签设置电子邮件的方法。 将该属性设置为"邮件项"。
要读取标签:
var mipLabels = currentMailItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/msip_labels/0x0000001F") as string;
试试这种方法:
public void SetMIP_LabelPublic(MailItem newMailItem)
{
var lblID = "00012345-0000-0000-C000-0000000000XX"; // <== change to your label ID
var tenantId = "00012345-0000-0000-C000-0000000XXXXX"; // <== change to your azur information tenant (your company) id
var mipMethod = "Privileged";
var dd = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.CreateSpecificCulture("en-us"));
var mipPropertyText = $"MSIP_Label_{lblID}_Enabled=true; "
+ $"MSIP_Label_{lblID}_SetDate={dd}; "
+ $"MSIP_Label_{lblID}_Method={mipMethod}; "
+ $"MSIP_Label_{lblID}_SiteId={tenantId}; ";
newMailItem.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/msip_labels/0x0000001F", mipPropertyText);
}