Sospensione automatica dell'invio di e-mail per un set di configurazione - Amazon Simple Email Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Sospensione automatica dell'invio di e-mail per un set di configurazione

Puoi configurare Amazon SES per esportare parametri di reputazione specifici per le e-mail inviate utilizzando un set di configurazione specifico ad Amazon CloudWatch. Puoi quindi utilizzare queste metriche per creare CloudWatch allarmi specifici per questi set di configurazione. Quando questi allarmi superano determinate soglie, puoi mettere automaticamente in pausa l'invio di e-mail che utilizzano i set di configurazione specificati, senza influire sulle funzionalità complessive di invio e-mail del tuo account Amazon. SES

Nota

La soluzione descritta in questa sezione sospende l'invio di e-mail per una configurazione specifica impostata in una singola regione. AWS Se invii e-mail da diverse Regioni, ripeti le procedure di questa sezione per ogni Regione in cui desideri implementare questa soluzione.

Fase 1: abilitazione della segnalazione dei parametri di reputazione per il set di configurazione

Prima di poter configurare Amazon SES per sospendere automaticamente l'invio di e-mail per un set di configurazione, devi prima abilitare l'esportazione dei parametri di reputazione per il set di configurazione.

Per abilitare l'esportazione dei parametri relativi a mancati recapiti e reclami per il set di configurazione, completa le fasi in Visualizzazione ed esportazione dei parametri di reputazione.

Parte 2: Creazione di un ruolo IAM

Il primo passaggio per configurare la sospensione automatica dell'invio di e-mail consiste nel creare un IAM ruolo in grado di eseguire l'operazione. UpdateConfigurationSetSendingEnabled API

Per creare il ruolo IAM
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Roles (Ruoli).

  3. Selezionare Create role (Crea ruolo).

  4. In Select type of trusted entity (Seleziona tipo di entità attendibile), scegli AWS service (Servizio AWS ).

  5. In Choose the service that will use this role (Scegli il servizio che utilizzerà questo ruolo), seleziona Lambda. Seleziona Next: Permissions (Successivo: Autorizzazioni).

  6. Nella pagina Attach permissions policies (Collega policy delle autorizzazioni) scegli le policy seguenti:

    • AWS Lambda BasicExecutionRole

    • Un mazonSESFull accesso (ti consigliamo di utilizzare un ruolo personalizzato personalizzato in base alle tue esigenze che includa le autorizzazioni per la chiamata). UpdateConfigurationSetSendingEnabled

    Suggerimento

    Usa la casella di ricerca nella parte superiore dell'elenco delle policy per individuarle rapidamente.

    Seleziona Next: Review (Successivo: Rivedi).

  7. Nella pagina Review (Rivedi) per Name (Nome) digita un nome per il ruolo. Scegliere Crea ruolo.

Fase 3: creazione della funzione Lambda

Dopo aver creato un IAM ruolo, puoi creare la funzione Lambda che sospende l'invio di e-mail per il set di configurazione.

Creazione della funzione Lambda
  1. Apri la AWS Lambda console all'indirizzo. https://console.aws.amazon.com/lambda/

  2. Usa il selettore della Regione per scegliere la Regione in cui desideri distribuire questa funzione Lambda.

    Nota

    Questa funzione sospende l'invio di e-mail solo per i set di configurazione nella regione AWS selezionata in questa fase. Se invii e-mail da più Regioni, ripeti le procedure di questa sezione per ogni Regione in cui desideri che venga sospeso automaticamente l'invio di e-mail.

  3. Seleziona Create function (Crea funzione).

  4. In Create function (Crea funzione), scegli Author from scratch (Crea da zero).

  5. In Author from scratch (Crea da zero) completa le fasi seguenti:

    • Per Name (Nome) digita un nome per la funzione Lambda.

    • Per Runtime (Tempo di esecuzione), scegli Node.js 14 (o la versione attualmente disponibile nell'elenco selezionato).

    • Per Role (Ruolo) scegli Choose an existing role (Scegli un ruolo esistente).

    • Per Existing role (Ruolo esistente) scegli il ruolo IAM creato in Parte 2: Creazione di un ruolo IAM.

    Scegli Create function (Crea funzione).

  6. In Function code (Codice funzione), nell'editor di codice, incolla il codice seguente:

    'use strict'; import { SES } from 'aws-sdk'; const ses = new SES(); const configSet = 'CONFIG_SET_NAME_HERE'; const params = { ConfigurationSetName: configSet, Enabled: false }; export const handler = async (event) => { try { const data = await ses.updateConfigurationSetSendingEnabled(params).promise(); console.log('Configuration Set Update:', data); return { statusCode: 200, body: JSON.stringify({ message: 'Successfully paused email sending for configuration set.', data }), }; } catch (err) { console.error('Error:', err.message); return { statusCode: 500, body: JSON.stringify({ message: 'Failed to pause email sending for configuration set.', error: err.message }), }; } };

    Sostituire ConfigSet il codice precedente con il nome del set di configurazione. Scegli Save (Salva).

  7. Scegli Test (Esegui test). Se viene visualizzata la finestra Configure test event (Configura evento test), digita un nome nel campo Event name (Nome evento), quindi scegli Create (Crea).

  8. Verifica che nella barra di notifica nella parte superiore della pagina sia visualizzato il messaggio Execution result: succeeded. Se l'esecuzione della funzione non è riuscita, procedi nel seguente modo:

    • Verifica che il ruolo IAM creato in Parte 2: Creazione di un ruolo IAM contenga le policy corrette.

    • Verifica che il codice nella funzione Lambda non contenga errori. L'editor di codice Lambda evidenzia automaticamente gli errori di sintassi e altri potenziali problemi.

Fase 4: riabilitazione dell'invio di e-mail per il set di configurazione

Un effetto secondario dei test della funzione Lambda in Fase 3: creazione della funzione Lambda è la sospensione dell'invio di e-mail per il set di configurazione. Nella maggior parte dei casi, non si desidera sospendere l'invio del set di configurazione fino a quando non viene CloudWatch attivato l'allarme.

Le procedure in questa sezione permettono di riabilitare l'invio di e-mail per il set di configurazione. Per completare questa procedura, è necessario installare e configurare AWS Command Line Interface. Per ulteriori informazioni, consultare la Guida per l'utente di AWS Command Line Interface.

Riabilitazione dell'invio di e-mail
  1. Nella riga di comando, digita il comando seguente per riabilitare l'invio di e-mail per il set di configurazione:

    aws ses update-configuration-set-sending-enabled \ --configuration-set-name ConfigSet \ --enabled

    Nel comando precedente, sostituitelo ConfigSet con il nome del set di configurazione per il quale desiderate sospendere l'invio di e-mail.

  2. Nella riga di comando, digita il comando seguente per controllare che l'invio di e-mail sia abilitato:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet \ --configuration-set-attribute-names reputationOptions

    Il comando produce output analogo all'esempio seguente:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Se il valore di SendingEnabled è true, l'invio di e-mail per il set di configurazione è stato riabilitato correttamente.

Parte 5: Creare un SNS argomento Amazon

CloudWatch Per eseguire la funzione Lambda quando viene attivato un allarme, devi prima creare un SNS argomento Amazon e sottoscrivere la funzione Lambda.

Per creare l'SNSargomento Amazon
  1. Apri la SNS console Amazon su https://console.aws.amazon.com/sns/v3/home.

  2. Usa il selettore della Regione per scegliere la Regione in cui desideri che l'invio di e-mail venga sospeso automaticamente.

  3. Nel pannello di navigazione, scegli Topics (Argomenti).

  4. Scegli Create new topic (Crea nuovo argomento).

  5. Nella finestra Create new topic (Crea nuovo argomento), per Topic name (Nome argomento), digita un nome per l'argomento. Facoltativamente, puoi digitare un nome più descrittivo nel campo Display name (Nome visualizzato).

    Scegli Create topic (Crea argomento).

  6. Nell'elenco degli argomenti seleziona la casella accanto all'argomento creato nella fase precedente. Dal menu Actions (Operazioni), scegli Subscribe to topic (Sottoscrivi all'argomento).

  7. Nella finestra Create subscription (Crea sottoscrizione), esegui le scelte seguenti:

    • In Protocol (Protocollo), seleziona AWS Lambda.

    • Per Endpoint scegli la funzione Lambda creata in Fase 3: creazione della funzione Lambda.

    • Per Version or alias (Versione o alias) scegli default (predefinito).

  8. Scegli Create Subscription (Crea sottoscrizione).

Parte 6: creare un allarme CloudWatch

Questa sezione contiene le procedure per creare un allarme CloudWatch che viene attivato quando una metrica raggiunge una determinata soglia. Quando l'allarme viene attivato, invia una notifica all'SNSargomento Amazon in cui hai creatoParte 5: Creare un SNS argomento Amazon, che quindi esegue la funzione Lambda in cui hai creato. Fase 3: creazione della funzione Lambda

Per creare un allarme CloudWatch
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Usa il selettore della Regione per scegliere la Regione in cui desideri che l'invio di e-mail venga sospeso automaticamente.

  3. Nel pannello di navigazione sinistro, scegli Alarms (Allarmi).

  4. Scegli Crea allarme.

  5. Nella finestra Crea allarme, in SESMetriche, scegli Configuration Set Metrics.

  6. Nella colonna ses:configuration-set, individua il set di configurazione per cui desideri creare un allarme. In Metric Name (Nome parametro) scegli una delle opzioni seguenti:

    • Reputazione. BounceRate — Scegliete questa metrica se desiderate sospendere l'invio di e-mail per il set di configurazione quando la frequenza di rimbalzo totale per il set di configurazione supera una soglia definita dall'utente.

    • Reputazione. ComplaintRate — Scegliete questa metrica se desiderate sospendere l'invio di e-mail per il set di configurazione quando la percentuale di reclami complessiva per il set di configurazione supera una soglia definita dall'utente.

    Scegli Next (Successivo).

  7. Completa questa procedura:

    • In Alarm Threshold (Soglia allarme) digita un nome per l'allarme in Name (Nome).

    • In Whenever: Reputation. BounceRateo Ogni volta: Reputazione. ComplaintRate, specifica la soglia che causa l'attivazione dell'allarme.

      Nota

      Se la frequenza di rimbalzo complessiva del tuo SES account Amazon supera il 10% o se la percentuale complessiva di reclami per il tuo SES account Amazon supera lo 0,5%, il tuo account SES Amazon viene automaticamente sottoposto a revisione. Quando specifichi la frequenza di rimbalzo o di reclamo che fa scattare l' CloudWatch allarme, ti consigliamo di utilizzare valori molto inferiori a questi tassi per evitare che il tuo account venga sottoposto a revisione.

    • In Azioni, per Ogni volta che si verifica questo allarme, scegli Lo stato è. ALARM Per Invia notifica a, scegli l'SNSargomento Amazon in cui hai creatoParte 5: Creare un SNS argomento Amazon.

    Scegli Crea allarme.

Fase 7: verifica della soluzione

A questo punto, puoi testare l'allarme per verificare che esegua la funzione Lambda quando passa nello stato ALARM. È possibile utilizzare l'SetAlarmStateoperazione in CloudWatch API per modificare temporaneamente lo stato dell'allarme.

Le procedure di questa sezione sono facoltative, ma ti consigliamo di completarle per verificare che l'intera soluzione sia configurata correttamente.

Verifica della soluzione
  1. Nella riga di comando, digita il comando seguente per controllare lo stato dell'invio di e-mail per il set di configurazione:

    aws ses describe-configuration-set --configuration-set-name ConfigSet

    Se l'invio è abilitato per il set di configurazione, verrà visualizzato l'output seguente:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Se il valore di SendingEnabled è true, l'invio di e-mail per il set di configurazione è attualmente abilitato.

  2. Nella riga di comando, digita il comando seguente per modificare temporaneamente lo stato di allarme in ALARM:

    aws cloudwatch set-alarm-state \ --alarm-name MyAlarm \ --state-value ALARM \ --state-reason "Testing execution of Lambda function"

    Sostituisci MyAlarm nel comando precedente con il nome dell'allarme in Parte 6: creare un allarme CloudWatch cui hai creato.

    Nota

    Quando esegui questo comando, lo stato dell'allarme passa da OK a ALARM e torna a OK entro pochi secondi. È possibile visualizzare queste modifiche di stato nella scheda Cronologia dell'allarme nella CloudWatch console o utilizzando l'DescribeAlarmHistoryoperazione.

  3. Nella riga di comando, digita il comando seguente per controllare lo stato dell'invio di e-mail per il set di configurazione:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet

    Se la funzione Lambda viene eseguita correttamente, viene visualizzato un output analogo al seguente esempio:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": false } }

    Se il valore di SendingEnabled è false, l'invio di e-mail per il set di configurazione è disabilitato e ciò indica che la funzione Lambda è stata eseguita correttamente.

  4. Completa le fasi in Fase 4: riabilitazione dell'invio di e-mail per il set di configurazione per riabilitare l'invio di e-mail per il set di configurazione.