Delen via


Quickstart: Een uitzondering genereren wanneer de limiet voor het verzenden van e-maillagen is bereikt

In deze quickstart leert u hoe u een uitzondering genereert wanneer de limiet voor het verzenden van e-mail is bereikt met behulp van onze Email SDK's.

Een uitzondering genereren wanneer de limiet voor het verzenden van e-maillagen is bereikt

De Email API heeft beperkingen met betrekking tot het aantal e-mailberichten dat u kunt verzenden. voor Email verzenden gelden limieten per minuut en per uur, zoals vermeld in API-beperking en time-outs. Wanneer u deze limieten hebt bereikt, ontvangen volgende e-mailberichten met SendAsync aanroepen de foutmelding '429: te veel aanvragen'. Standaard is de SDK geconfigureerd om deze aanvragen opnieuw te proberen na een bepaalde periode te hebben gewacht. U wordt aangeraden logboekregistratie in te stellen met de Azure SDK om deze antwoordcodes vast te leggen.

U kunt ook handmatig een aangepast beleid definiëren:

using Azure.Core.Pipeline;

public class Catch429Policy : HttpPipelineSynchronousPolicy
{
    public override void OnReceivedResponse(HttpMessage message)
    {
        if (message.Response.Status == 429)
        {
            throw new Exception(message.Response);
        }
        else
        {
            base.OnReceivedResponse(message);
        }
    }
}

Voeg dit beleid toe aan uw e-mailclient om ervoor te zorgen dat 429-antwoordcodes een uitzondering genereren in plaats van opnieuw te worden geprobeerd.

EmailClientOptions emailClientOptions = new EmailClientOptions();
emailClientOptions.AddPolicy(new Catch429Policy(), HttpPipelinePosition.PerRetry);

EmailClient emailClient = new EmailClient(connectionString, emailClientOptions);

Een uitzondering genereren wanneer de limiet voor het verzenden van e-maillagen is bereikt

De Email API heeft beperkingen met betrekking tot het aantal e-mailberichten dat u kunt verzenden. voor Email verzenden gelden limieten per minuut en per uur, zoals vermeld in API-beperking en time-outs. Wanneer u deze limieten hebt bereikt, ontvangen volgende e-mailberichten met send aanroepen de foutmelding '429: te veel aanvragen'. Standaard is de SDK geconfigureerd om deze aanvragen opnieuw te proberen na een bepaalde periode te hebben gewacht. U wordt aangeraden logboekregistratie in te stellen met de Azure SDK om deze antwoordcodes vast te leggen.

Er gelden limieten per minuut en per uur voor het aantal e-mailberichten dat u kunt verzenden met behulp van de Azure Communication Email Service. Wanneer u deze limieten hebt bereikt, ontvangen alle verdere beginSend aanroepen een 429: Too Many Requests antwoord. Standaard is de SDK geconfigureerd om deze aanvragen opnieuw te proberen na een bepaalde periode te hebben gewacht. U wordt aangeraden logboekregistratie in te stellen met de Azure SDK om deze antwoordcodes vast te leggen.

U kunt ook handmatig een aangepast beleid definiëren:

const catch429Policy = {
  name: "catch429Policy",
  async sendRequest(request, next) {
    const response = await next(request);
    if (response.status === 429) {
      throw new Error(response);
    }
    return response;
  }
};

Voeg dit beleid toe aan uw e-mailclient om ervoor te zorgen dat 429-antwoordcodes een uitzondering genereren in plaats van opnieuw te worden geprobeerd.

const clientOptions = {
  additionalPolicies: [
    {
      policy: catch429Policy,
      position: "perRetry"
    }
  ]
}

const emailClient = new EmailClient(connectionString, clientOptions);

Een uitzondering genereren wanneer de limiet voor het verzenden van e-maillagen is bereikt

De Email API heeft beperkingen met betrekking tot het aantal e-mailberichten dat u kunt verzenden. voor Email verzenden gelden limieten per minuut en per uur, zoals vermeld in API-beperking en time-outs. Wanneer u deze limieten hebt bereikt, ontvangen volgende e-mailberichten met beginSend aanroepen de foutmelding '429: te veel aanvragen'. Standaard is de SDK geconfigureerd om deze aanvragen opnieuw te proberen na een bepaalde periode te hebben gewacht. U wordt aangeraden logboekregistratie in te stellen met de Azure SDK om deze antwoordcodes vast te leggen.

U kunt ook handmatig een aangepast beleid definiëren:

import com.azure.core.http.HttpResponse;
import com.azure.core.http.policy.ExponentialBackoff;

public class CustomStrategy extends ExponentialBackoff {
    @Override
    public boolean shouldRetry(HttpResponse httpResponse) {
        int code = httpResponse.getStatusCode();

        if (code == HTTP_STATUS_TOO_MANY_REQUESTS) {
            throw new RuntimeException(httpResponse);
        }
        else {
            return super.shouldRetry(httpResponse);
        }
    }
}

Voeg dit beleid voor opnieuw proberen toe aan uw e-mailclient om ervoor te zorgen dat 429-antwoordcodes een uitzondering genereren in plaats van opnieuw te worden geprobeerd.

import com.azure.core.http.policy.RetryPolicy;

EmailClient emailClient = new EmailClientBuilder()
    .connectionString(connectionString)
    .retryPolicy(new RetryPolicy(new CustomStrategy()))
    .buildClient();

Een uitzondering genereren wanneer de limiet voor het verzenden van e-maillagen is bereikt

De Email API heeft beperkingen met betrekking tot het aantal e-mailberichten dat u kunt verzenden. voor Email verzenden gelden limieten per minuut en per uur, zoals vermeld in API-beperking en time-outs. Wanneer u deze limieten hebt bereikt, ontvangen volgende e-mailberichten met SendAsync aanroepen de foutmelding '429: te veel aanvragen'. Standaard is de SDK geconfigureerd om deze aanvragen opnieuw te proberen na een bepaalde periode te hebben gewacht. U wordt aangeraden logboekregistratie in te stellen met de Azure SDK om deze antwoordcodes vast te leggen.

U kunt ook handmatig een aangepast beleid definiëren om ervoor te zorgen dat 429-antwoordcodes een uitzondering genereren in plaats van opnieuw te worden geprobeerd.

def callback(response):
    if response.http_response.status_code == 429:
        raise Exception(response.http_response)

email_client = EmailClient.from_connection_string(<connection_string>, raw_response_hook=callback)

Problemen oplossen

Email bezorging

Als u problemen met betrekking tot de bezorging van e-mail wilt oplossen, kunt u de status van de e-mailbezorging ophalen om bezorgingsgegevens vast te leggen.

Belangrijk

Het succesresultaat dat wordt geretourneerd door polling naar de status van de verzendbewerking, valideert alleen het feit dat het e-mailbericht is verzonden voor bezorging. Als u meer informatie wilt over de status van de bezorging aan de geadresseerde, moet u verwijzen naar het afhandelen van e-mail gebeurtenissen.

beperking van Email

Als u ziet dat uw toepassing vast loopt, kan dit worden veroorzaakt doordat het verzenden van e-mail wordt beperkt. U kunt dit afhandelen via logboekregistratie of door een aangepast beleid te implementeren.

Notitie

Deze sandbox-installatie is bedoeld om ontwikkelaars te helpen de toepassing te bouwen. U kunt geleidelijk aanvragen om het verzendvolume te verhogen zodra de toepassing klaar is om live te gaan. Dien een ondersteuningsaanvraag in om de gewenste verzendlimiet te verhogen als u een aantal berichten wilt verzenden dat de frequentielimieten overschrijdt.

Azure Communication Service-resources opschonen

Als u een Communication Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd. Meer informatie over het opschonen van resources.

Volgende stappen

In deze snelstartgids hebt u geleerd hoe u handmatig de status kunt peilen bij het verzenden van e-mail met behulp van Azure Communication Services.

U kunt ook het volgende doen: