Я использую C # для связанной с Exchange Online утилиты.Я выполняю аутентификацию на сервере, используя учетную запись администратора, и эта учетная запись выполняет некоторые задачи над сообщениями пользователя в определенных папках.
Если я хочу отправить сообщение от пользователя (в отличие от учетной записи администратора в поле От)) Я могу сделать это:
EmailMessage confirmationMessage = new EmailMessage(service);
confirmationMessage.ToRecipients.Add("recipient@contoso.com");
confirmationMessage.Subject = "Confirmation: " + message.Subject + " Sent";
confirmationMessage.From = "testuser@contoso.com";
confirmationMessage.Send();
И сообщение отправляется с «testuser@contoso.com» в поле «От» вместо «admin@contoso.com» (учетная запись, используемая для проверки подлинности в Exchange Online).).Это, конечно, требует разрешения «Отправить как», которые были предоставлены.
Однако, если я хочу переслать сообщение из почтового ящика пользователя вместо отправки нового сообщения, «admin@contoso.com» заканчивается в поле «От»:
foreach (EmailMessage message in itemResults)
{
//forward the message to each of the users assistants
ResponseMessage forward = message.CreateForward();
forward.ToRecipients.Add("recipient@contoso.com");
forward.Send();
}
Тампохоже, нет никакого способа отредактировать свойство ResponseMessage From, и изменение свойства From сообщения перед преобразованием его в ResponseMessage не имеет значения.Есть ли способ переслать сообщение с указанным адресом в поле От?