C# и EWS Как сохранить сообщение как электронное письмо вместо черновика - PullRequest
1 голос
/ 29 января 2020

На данный момент я подключился к EWS, получил доступ к своей папке «Входящие», создал элемент (электронное письмо) с некоторой информацией в «Теле», «Тема», «От» и «Кому», сохранил его в папке «Черновик» и, наконец, переместил в мой почтовый ящик Это работает, однако, я получаю черновик в папке «Входящие» вместо электронного письма.

Можно ли получить сообщение как электронное письмо с описанным выше сценарием и как мне этого добиться?

Ниже мой код. Любой вклад будет очень признателен.

try {
    message.Save();
}
catch(Exception e21) {;
}

message.Load(PS);

message.From = new EmailAddress("someone@abc.com");
message.ToRecipients.Add("me@abc.com");
message.Body = "This is A test take 1";
message.Subject = "Testing to send as someone else...";
// add in the attachments......
message.Update(ConflictResolutionMode.AlwaysOverwrite); // require this here  why????
message.Copy(theTempFolder.Id); // get the item as a draft in my mailbox instead of an email 
}
catch(Exception e99) {
    Console.WriteLine("Exception fail to connect to office 365 on the cloud: " + e99.Message);
}

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Вы пытались отправить его себе с помощью message.Send () или message.SendAndSaveCopy ()? подробнее здесь

0 голосов
/ 30 января 2020

Вам необходимо установить для свойства MessageFlags https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidtagmessageflags-canonical-property значение 1 (перед вызовом обновления), например,

ExtendedPropertyDefinition PR_MESSAGE_FLAGS_msgflag_read = new ExtendedPropertyDefinition(3591, MapiPropertyType.Integer);
message.SetExtendedProperty(PR_MESSAGE_FLAGS_msgflag_read, 1);

, после чего сообщение будет выглядеть так, как будто оно было получено. Другой способ - просто импортировать EML как https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-import-items-by-using-ews-in-exchange

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...