Я нашел несколько вопросов об обнаружении состояния почты на различных почтовых серверах, но все еще неясно, как это сделать с помощью Outlook REST API.
В документации мы можем увидеть ответ дляrequest:
GET https://graph.microsoft.com/v1.0/me/messages/AAMkADhMGAAA=
Но похоже, что в ответе нет поля, содержащего такую информацию.Я также изучил запрос на заголовки:
https://graph.microsoft.com/v1.0/me/mailfolders/inbox/messages?$select=subject,internetMessageHeaders
К сожалению, не было никакого заголовка, подобного X-Failed-Recipients.
X-Failed-Recipients
Есть ли какие-либо способы получения статуса доставки и / или неудачных получателей с помощью Outlook API?
Мой подход к этому заключался в получении деталей сообщения и internetMessageHeaders, как вы это сделали.
Сначала я проверяю заголовок Content-Type значение multipart/report, которое обозначает DSN (статус доставки)см. RFC 3461 .
Content-Type
multipart/report
GET https://graph.microsoft.com/v1.0/me/messages/<id>?$select=internetMessageHeaders
Затем я получаю свойство toRecipientsсообщение, которое содержит адрес электронной почты получателя, который не удалось.
toRecipients
GET https://graph.microsoft.com/v1.0/me/messages/<id>
Примечание: