當我使用CreateEmail()調用創建草稿郵件時,如何預先設置目標保存文件夾,以便當用戶按「發送」和Outlook時最終發送的項目將被保存到?如何使用Exchange EWS設置SaveSentMessageFolder
在Outlook中,它是在選項 - >「保存已發送的項目要」,但我不知道該怎麼做,在EWS
謝謝
當我使用CreateEmail()調用創建草稿郵件時,如何預先設置目標保存文件夾,以便當用戶按「發送」和Outlook時最終發送的項目將被保存到?如何使用Exchange EWS設置SaveSentMessageFolder
在Outlook中,它是在選項 - >「保存已發送的項目要」,但我不知道該怎麼做,在EWS
謝謝
在EWS,您可以指定哪個文件夾想要一條你的發送信息保存到。如果您使用EWS Managed API,則通過Overload for Send或SendAndSaveCopy執行此操作,否則默認將爲當前安全主體的草稿文件夾和sent-items文件夾。
如果您創建與EWS草案,並與Outlook發送,那麼你就需要將PR_SENTMAIL_ENTRYID https://msdn.microsoft.com/en-us/library/office/cc842003.aspx設置爲你希望Outlook的郵件保存到
如
ExtendedPropertyDefinition PR_SENTMAIL_ENTRYID = new ExtendedPropertyDefinition(0x0E0A,MapiPropertyType.Binary);
TestMove.SetExtendedProperty(PR_SENTMAIL_ENTRYID,ConvertHexStringToByteArray("00000000BE1CDD3D9606274890F3DE4B7DDFBE490100751047FD18EA304D9D40B1428BAC20D00000364670AA0000"));
的文件夾的HexId (這與Outlook設置的屬性相同)
您需要確保使用文件夾的HexId而不是EWSId來獲取HexId,您可以使用convertId,例如
AlternateId ai = new AlternateId(IdFormat.EwsId, folder.Id.UniqueId, "[email protected]");
AlternateId Convertedai = (AlternateId)service.ConvertId(ai, IdFormat.HexEntryId);
ExtendedPropertyDefinition PR_SENTMAIL_ENTRYID = new ExtendedPropertyDefinition(0x0E0A,MapiPropertyType.Binary);
TestMove.SetExtendedProperty(PR_SENTMAIL_ENTRYID, ConvertHexStringToByteArray(Convertedai.UniqueId));
internal static byte[] ConvertHexStringToByteArray(string hexString)
{
if (hexString.Length % 2 != 0)
{
throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, "The binary key cannot have an odd number of digits: {0}", hexString));
}
byte[] HexAsBytes = new byte[hexString.Length/2];
for (int index = 0; index < HexAsBytes.Length; index++)
{
string byteValue = hexString.Substring(index * 2, 2);
HexAsBytes[index] = byte.Parse(byteValue, NumberStyles.HexNumber, CultureInfo.InvariantCulture);
}
return HexAsBytes;
}
乾杯 格倫
謝謝。這應該正是我想要的。但我有一個FolderId對象說FFF 我調用SetExtendedProperty(PR_SENTMAIL_ENTRYID,Encoding.ASCII.GetBytes(FFF.UniqueId)); 不做這項工作。任何想法? – DayDayHappy
您需要確保將EWSid轉換爲文件夾的HexEntryId(與PR_EntryId相同)。我已經在 –
以上發佈了一個示例,非常感謝。它完美的作品 – DayDayHappy