Я пытаюсь отправить EmailMessage
с помощью EWS
с пользователем A и сохранить отправленный элемент в папке SentItems
пользователя B .В основном это работает.Единственная проблема, с которой я сталкиваюсь: элемент сохраняется как черновик, а не как отправленный элемент.
Код:
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2, timeZone)
{
Url = new Uri(uri),
Credentials = new WebCredentials(new NetworkCredential(user, password, domain)),
UseDefaultCredentials = false,
};
EmailMessage message = new EmailMessage(service)
{
Subject = subject,
Body = new MessageBody(BodyType.HTML, fullBody)
};
message.From = email;
message.ToRecipients.Add(email);
FolderId folderId = new FolderId(WellKnownFolderName.SentItems, email);
Что я пытался:
// Simply sends the message
message.Send();
// Sends the item but is it not saved in the sentItems of email-account
FolderId folderId = new FolderId(WellKnownFolderName.SentItems, email);
message.SendAndSaveCopy(folderId);
// Sends the item, saves the item in the right folder, but it is saved as a draft, not as a sent item
FolderId folderId = new FolderId(WellKnownFolderName.SentItems, email);
message.Send();
message.Move(folderId);
Что я пропускаю или делаю неправильно?
Этот парень говорит просто сохранить, а затем сохранить usind folderId, но в таком случае я получаю следующую ошибку:
This operation can't be performed because this service object already has an ID. To update this service object, use the Update() method instead.