java - ews java api - 如何设置电子邮件的权限/分类(公共(public)/受限/内部)

标签 java exchange-server exchangewebservices ewsjavaapi

我正在自定义文件夹中起草电子邮件。

EmailMessage msg= new EmailMessage(service);
msg.setSubject("Hello world!");
msg.setBody(MessageBody.getMessageBodyFromText("Draft email using the EWS Java API."));
msg.getToRecipients().add("someone@contoso.com");
// Tried to set extended property but not worked
ExtendedPropertyDefinition headerProperty = new ExtendedPropertyDefinition(
                    DefaultExtendedPropertySet.InternetHeaders,
                    "X-Classification",
                    MapiPropertyType.String);
            msg.setExtendedProperty(headerProperty,"Provision X-header Internet message header");
msg.save(CUSTOM_FOLDER_ID);

我开始知道扩展属性将有助于分类/权限 header 。 引用链接 - https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-provision-x-headers-by-using-ews-in-exchange 但是如何设置分类/权限? X-Classification-Restricted 像这样或任何其他方式?

我不想使用 setImportance/setSensitivity 方法。

手动设置如下 enter image description here

ews api 期望通过代码设置分类/权限 enter image description here

如何使用ews java api为EmailMessage设置权限/分类(public/Restricted/Internal)?

赞赏工作示例的代码片段。 提前致谢

最佳答案

x-iccategory 需要 InternetHeaders 才能设置电子邮件的分类/权限。

x-iccategory 的值来自[1-4] & 提供值作为string

以下是分类/权限类型为 x-iccategory 的值

1=高度, 2=受限, 3=内部, 4=公开

示例代码片段如下

   EmailMessage msg = new EmailMessage(exchangeService);
                msg.setSubject("Ews api code....");        
                msg.setBody(MessageBody.getMessageBodyFromText("** Email with classification using EWS Java API."));
                msg.setFrom(new EmailAddress("some1@test.com");
                msg.getToRecipients().add("some2@test.com");


            // Define the extended property
            ExtendedPropertyDefinition extPropDef = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "x-iccategory", MapiPropertyType.String);

            // Stamp the extended property with value on a message. 2- Restricted
            msg.setExtendedProperty(extendedPropertyDefinition, "2");

            msg.send();

分类/权限不适用于来自草稿/自定义文件夹的电子邮件

注意 - 当您触发该电子邮件时,分类/权限就会出现。 电子邮件首先进入传输管道,并根据其应用的值(受限/公共(public)...)

关于java - ews java api - 如何设置电子邮件的权限/分类(公共(public)/受限/内部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51501184/

相关文章:

java - 在一行上打印出两个变量?

java - 关闭 Hook 在 Eclipse 中不起作用

service - 使用 Exchange Web 服务发送回复电子邮件 - 如何处理 changeKey 属性

java - JNA 通过引用在 C 结构中使用多个 void 指针

exchange-server - Exchange Web服务: Finding emails sent to a recipient

powershell - 将变量放入 "-eq"的 cmdlet 时出现问题

exchange-server - DistinguishedFolderId 'calendar' 的 GetUserConfiguration 的可用 UserConfigurationName 名称?

exchange-server - 使用 Exchange Web 服务跨文件夹搜索 Exchange

azure - 将 Office 365 API 调用权限添加到 Azure 管理控制台

Java JAI BufferedImage 与 C++ OpenCV Mat imread?