Azure Communication Service Email Send Rate limit

87592231 85 Reputation points
2024-08-29T04:50:05.2733333+00:00

I tried to send 100+ email which led to ACS throwing a 429 error. I paused the function app for more than an hour to allow the limit to recover, but after resuming, it only sent 4-5 emails and throwing the 429 error again. and we are sending these events in a storage account for later processing.

  1. why is rate limit not recovered after waiting more than one hour?
  2. Sometime ACS throwing 429 for an email and delivered the same email.
    and as per the Documentation rate limit for custom domain is :User's image
Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,889 questions
Azure Communication Services
Azure Communication Services
An Azure communication platform for deploying applications across devices and platforms.
845 questions
0 comments No comments
{count} votes

Accepted answer
  1. LeelaRajeshSayana-MSFT 14,831 Reputation points Microsoft Employee
    2024-08-29T14:49:43.4266667+00:00

    Hi @87592231 Greetings! Thank you for posting this question here.

    I apologize for the issue you are facing with Azure Communication Services.

    why is rate limit not recovered after waiting more than one hour?

    There are couple of things we can look into to understand why we see throttling limits even after waiting for a cooling period of 1 hour.

    1. The throttling limits are set per subscription. If there are any other Email Communication Services resources created on the subscription, the throttling limits would factor in the Emails send by these services and apply the rate limit. Check your subscription and look up Email Communication Services to see if there are any other email services.
    2. The rate limit differs between Custom Domains vs Azure Managed Domains. If your function app is designed to send emails to both domains , it could be possible that will get throttled sooner as Azure Managed domains have lower rates compared to Custom Domains. Please refer the below image for rate limits on Azure Managed Domains

    User's image

    Sometime ACS throwing 429 for an email and delivered the same email.

    By default, the SDK is configured to retry the request upon receiving 429 throttling response, after waiting a certain period of time. You can a policy to your function app to prevent retrying and throw an error when throttling has reached. Refer the article Throw an exception when email sending tier limit is reached for the steps on implementing this.

    You can further implement a logic to make ensure the delivery of the email by Subscribing to the Email events using Web Hook

    If you identify your services need a higher throttling limit, you can put in a support request by following the steps provided in Quota increase for email domains

    Hope this helps! If you need any additional assistance and help troubleshooting this further, please let us know and we would be happy to help you.


    If the response helped, please do click Accept Answer and Yes for the answer provided. Doing so would help other community members with similar issue identify the solution. I highly appreciate your contribution to the community.

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.