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:
- Meer informatie over het verzenden van e-mail naar meerdere geadresseerden
- Meer informatie over het verzenden van e-mail met bijlagen
- Uzelf vertrouwd maken met de e-mailclientbibliotheek