В настоящее время я использую Outlook REST API для отправки электронной почты.Это работает нормально, когда отправка из почтового ящика пользователя, такого как:
https://outlook.office.com/api/v2.0/users/user@domain.com/sendMail
'user@domain.com '- это UPN действительной учетной записи пользователя в Azure AD.
Что мне нужно сделать, это «отправить как» общий почтовый ящик.Согласно документации это можно сделать, изменив свойство From в теле запроса JSON.Примером может быть:
{
"Message": {
"Subject": "Email Unit Test",
"Body": {
"ContentType": "HTML",
"Content": "Message body"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "recipient@somehost.com"
}
}
],
"Attachments": [
],
"From": {
"EmailAddress": {
"Address": "shared_mailbox@domain.com"
}
},
"Sender": {
"EmailAddress": {
"Address": "user@domain.com"
}
}
},
"SaveToSentItems": "false"
}
Теперь, когда я предоставляю user@domain.com доступ «Отправить как» и «Отправить от имени» к общему почтовому ящику, это работает.Получатель получает электронное письмо с полем from, которое гласит: 'user@domain.com От имени shared_mailbox@domain.com'.Однако я хочу, чтобы электронное письмо отображалось как отправленное из shared_mailbox только без имени пользователя.Чтобы проверить это дальше, я удалил доступ «Отправить от имени» и оставил только «Отправить как».В API я теперь получаю ошибку:
{
"error": {
"code": "ErrorSendAsDenied",
"message": "The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account., Cannot submit message."
}
}
Интересно, что в моем клиенте Outlook я все еще могу отправлять электронную почту из общего почтового ящика, и она работает, как и ожидалось, без «имени» в поле «От».Я начинаю задаваться вопросом, является ли это ограничением REST API, однако в документах Microsoft нет ничего, что могло бы это предложить.
Кто-нибудь имел подобный опыт с REST API?