Периодические ошибки sendMail

Я отправляю сообщения с помощью REST API Microsoft Graph. Мое приложение представляет собой приложение службы / демона, в которое я отправляю электронную почту от имени пользователя. Я использую sendMail API (POST / users / {user id} / sendMail), и это работает очень часто. Проблема в том, что время от времени возвращается следующая ошибка:

{"error": {"code": "UnknownError", "message": "", "innerError": {"request-id": "a901d503-8acf-47e7-8f7e-a20311aa0e3b", "date": "2017 г. -01-10T15: 06: 48 "}}}

Есть идеи, что вызывает эту ошибку, и есть ли обходной путь?


person Chris Vaught    schedule 10.01.2017    source источник


Ответы (1)


Журналы показывают, что вы получаете код состояния 429 (что означает регулирование).

Ваше приложение отправляет много запросов для одного и того же ресурса / пользователя? Если это так, в документах об ошибках говорится следующее:

Клиентское приложение было задушено, и ему не следует пытаться повторить запрос, пока не пройдет определенное время.

person DianeD    schedule 10.01.2017
comment
Да, я отправляю много запросов от пользователя. Сколько времени нужно, чтобы повторить попытку? Есть ли способ отключить троттлинг для конкретного пользователя? Какие-либо рекомендации относительно того, сколько запросов вызовет ошибку регулирования? - person Chris Vaught; 11.01.2017
comment
Относительно того, сколько времени - в данном случае Exchange вернул Retry-After = 300. Microsoft Graph в настоящее время не передает этот заголовок ответа обратно клиенту, но для этого есть активный запрос на извлечение, поэтому Microsoft Graph вскоре должен начать возвращать Retry-After в течение 429 секунд. - person DianeD; 11.01.2017
comment
Я снизил скорость отправки электронной почты примерно до 1 в секунду, но все еще вижу эту ошибку. Будет ли больше иметь значение его замедление или что-то еще вызывает появление ошибок? Мне действительно нужно, чтобы это работало постоянно. Я отправляю эти электронные письма от имени крупного клиента Office 365. - person Chris Vaught; 17.01.2017