当前位置: 首页 > 知识库问答 >
问题:

C#-将MIP特定标头添加到MailMessage

董翰池
2023-03-14

我一直在尝试应用敏感度标签并使用MIP和MailMessage发送电子邮件。

基于MipSdk-DotNet-Polury-Quickstart项目,我添加了选项元数据启用:真站点ID:xxxx…,并将内容格式设置为Microsoft. Information保护。策略。内容格式。电子邮件

计算操作后,我获得了带有mips_label键和模板 ID 的元数据。使用消息将mips_label添加到邮件。Headers.Add(“msip_labels”, “xxx”) 将它们添加到电子邮件中,但收到标签时不会应用。

可以通过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");

提前感谢

共有1个答案

卫浩瀚
2023-03-14

我找到了一种使用MIP标签设置电子邮件的方法。将属性设置为Mail项目。读取标签:

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);
    }
 类似资料:
  • 问题内容: 我编写了一个Python脚本,用于合并两个csv文件,现在我想在最终的csv中添加标头。我尝试按照此处报告的建议进行操作,但出现以下错误:。解决此问题的最有效方法是什么? 这是我正在使用的代码: 问题答案: 该班预计 字典 的每一行。如果您只想编写一个初始标头,请使用常规并在标头的简单行中传递: 另一种方法是在跨数据复制时生成字典:

  • 我有以下代码: 但我得到了这个错误:导致:org.springframework.web.client.RestClientExcture:无法提取响应:没有合适的HttpMessageConzer找到响应类型[类com.xxx.test.YY]和内容类型[应用程序/xml; charset=ISO-8859-1] 如何添加MediaType。应用程序将JSON添加到标头,并将标头添加到restT

  • 问题内容: 我需要向来自WebView的每个请求添加自定义标头。我知道有用于的参数,但这些参数仅应用于初始请求。所有后续请求均不包含标头。我已经看过所有的替代,但是没有什么允许将标头添加到资源请求- 。任何帮助都会很棒。 问题答案: 尝试 要将标头添加到资源加载请求中,请定制WebViewClient并重写:

  • 问题内容: 我正在尝试访问网站,但无法将收集到的“ Cookie”添加到传出的POST请求标头中。我已经能够验证它们是否存在于CookieManager中。 HtmlUnit的任何替代方法也将不胜感激。 问题答案: 我发现可以使用WebClient中的setadditionalHeader()添加标题。

  • 问题内容: 我们正在将AJAX请求发布到本地运行的服务器,即 该javascript正在执行的页面也从localhost:9000提供服务,即,这完全像一个同源请求。 但是,由于某种原因,Google Chrome总是在结果请求中设置Origin标头,从而导致我们的服务器基于错误的假设(即CORS请求)阻止该请求。 在Firefox中不会发生这种情况。 此外,Firefox和Chrome均未发送O