Come posso integrare Amazon SES con un pool di utenti Amazon Cognito?

7 minuti di lettura
0

Vorrei conoscere i passaggi necessari per integrare Servizio di email semplice Amazon (Amazon SES) con un pool di utenti Amazon Cognito.

Breve descrizione

Amazon SES e Amazon Cognito possono essere integrati per inviare messaggi e-mail con un indirizzo e-mail personalizzato di tua proprietà. Segui questa procedura dettagliata per integrare Amazon SES con un pool di utenti Amazon Cognito:

  • Considera i limiti dell'ambiente di sperimentazione (sandbox) Amazon SES.
  • Sposta un account fuori dall'ambiente di sperimentazione (sandbox) di Amazon SES.
  • Verifica un'identità Amazon SES.
  • Configura un pool di utenti Amazon Cognito con un'identità verificata da Amazon SES.

Risoluzione

Completa la seguente procedura per integrare Amazon SES con un pool di utenti Amazon Cognito per l'invio di messaggi e-mail per tuo conto.

Limitazioni dell'ambiente di sperimentazione (sandbox) Amazon SES

Tutti i nuovi account Amazon SES vengono inseriti nell'ambiente di sperimentazione (sandbox) Amazon SES per prevenire frodi e abusi. Quando si utilizza un ambiente di sperimentazione (sandbox) Amazon SES è necessario tenere in considerazione alcune limitazioni. Per esaminare le limitazioni specifiche dell'ambiente di sperimentazione (sandbox), consulta Uscita dall'ambiente di sperimentazione (sandbox) di Amazon SES. per utilizzare completamente il servizio Amazon SES, devi spostare il tuo account Amazon SES fuori dall'ambiente di sperimentazione (sandbox).

Spostamento di un account dall'ambiente di sperimentazione (sandbox) di Amazon SES

Per spostare un account dall'ambiente di sperimentazione (sandbox) di Amazon SES, completa i seguenti passaggi:

1.    Consulta la tabella di mappatura delle Regioni AWS nella configurazione della posta elettronica di Amazon SES. La tabella di mappatura mostra le Regioni in cui le identità Amazon SES possono essere integrate con i pool di utenti Amazon Cognito. Prima di spostare l'account Amazon SES dall'ambiente di sperimentazione (sandbox), assicurati di utilizzare Regioni compatibili.

2.    Richiedi l'accesso alla produzione per il tuo account Amazon SES. Dopo l'approvazione della richiesta di accesso alla produzione, potrai inviare messaggi di posta elettronica a qualsiasi destinatario.

Importante: per integrare Amazon Cognito con Amazon SES nella stessa Regione, devi passare alla nuova console Amazon Cognito.

Verifica di un'identità Amazon SES

Per verificare l'identità di un dominio Amazon SES, completa i seguenti passaggi:

1.    Crea un'identità di dominio.

2.    Verifica uno o più domini in Amazon SES.

Per verificare l'identità di un'e-mail Amazon SES, completa i seguenti passaggi:

1.    Crea un'identità e-mail.

2.    Verifica uno o più indirizzi e-mail in Amazon SES.

Nota: le integrazioni tra account per Amazon Cognito e Amazon SES non sono supportate. Non puoi configurare un pool di utenti Amazon Cognito in un account e integrarlo con un indirizzo e-mail Amazon SES in un altro account.

Configurazione di un pool di utenti Amazon Cognito con un'identità verificata da Amazon SES

Per integrare il pool di utenti Amazon Cognito con la configurazione dell'identità verificata di Amazon SES, segui i passaggi pertinenti al tuo caso d'uso.

Quando viene verificata l'identità del dominio Amazon SES

1.    Accedi alla nuova console Amazon Cognito quindi scegli User Pools (Pool di utenti).

2.    Seleziona il pool di utenti appropriato dall'elenco.

3.    Scegli la scheda Messaging (Messaggistica), Email configuration (Configurazione e-mail), quindi Edit (Modifica).

4.    In FROM email address (Indirizzo e-mail FROM), scegli l'identità di dominio verificata da Amazon SES. (Ad esempio, example.com).

5.    In FROM sender name (Nome del mittente FROM), inserisci il tuo indirizzo e-mail. (Ad esempio, admin@example.com.)

Poiché il dominio è già verificato, puoi aggiungere un indirizzo e-mail personalizzato per l'identità del dominio. L'API UpdateUserPool configura il pool di utenti Amazon Cognito con un'identità Amazon SES.

Comando update-user-pool di esempio:

$ aws cognito-idp update-user-pool --user-pool-id example_pool_id --email-configuration SourceArn=arn:aws:ses:example_region:example_account_number:identity/example_domain,EmailSendingAccount=DEVELOPER,From=user@example.com --region example_region

Importante: poiché l'API UpdateUserPool reimposta la configurazione esistente del pool di utenti, richiama prima l'API DescribeUserPool. Quindi, invia tutti i parametri del pool di utenti esistenti all'API UpdateUserPool.

Descrizioni del comando update-identity-pool:

  • example_pool_id corrisponde all'ID del pool di utenti Amazon Cognito. Esempio: ap-southeast-1_xxxxxxxx.
  • arn:aws:ses:example_region:example_account_number:identity/example_domain è l'ARN dell'identità del tuo dominio Amazon SES.
  • user@example.com deve essere sostituito con la tua identità e-mail.
  • example_region rappresenta la Regione in cui esiste il pool di utenti Amazon Cognito. Esempio: ap-southeast-1.

Quando viene verificata l'identità e-mail di Amazon SES

1.    Accedi alla nuova console Amazon Cognito quindi scegli User Pools (Pool di utenti).

2.    Seleziona il pool di utenti appropriato dall'elenco.

3.    Scegli la scheda Messaging (Messaggistica), Email configuration (Configurazione e-mail), quindi scegli Edit (Modifica).

4.    In FROM email address (Indirizzo e-mail FROM), scegli l'identità del dominio e-mail Amazon SES. (Ad esempio, admin@example.com.)

Risoluzione dei problemi

Questa sezione include informazioni sulla risoluzione degli errori riscontrati dagli utenti durante l'invio di messaggi e-mail dopo l'integrazione di Amazon Cognito e Amazon SES.

Errore relativo all'indirizzo e-mail non verificato

"Email address is not verified. The following identities failed the check in region AP-SOUTHEAST-1: user@example.com" (L'indirizzo email non è verificato. Le seguenti identità non hanno superato il check-in nella regione AP-SOUTHEAST-1: user@example.com).

Amazon Cognito riceve l'errore dell'indirizzo e-mail non verificato quando prova a inviare un messaggio e-mail. Puoi ricevere questo errore quando provi a inviare un messaggio e-mail da un account in un ambiente di sperimentazione (sandbox) di Amazon SES a un indirizzo e-mail non verificato. Per risolvere l'errore, sposta il tuo account Amazon SES fuori dall'ambiente di sperimentazione (sandbox) oppure verifica l'indirizzo e-mail del destinatario in Amazon SES.

Gli utenti non ricevono messaggi e-mail da Amazon Cognito

Gli utenti non ricevono messaggi e-mail da un pool di utenti Amazon Cognito. Per risolvere questo problema, verifica di utilizzare la funzionalità e-mail predefinita di Amazon Cognito o la configurazione di posta elettronica di Amazon SES per l'invio di messaggi e-mail. Verifica la presenza di aggiornamenti tramite la Console di gestione AWS o richiamando l'API DescribeUserPool.

Comando describe-user-pool di esempio:

aws cognito-idp describe-user-pool --user-pool-id example_pool_id --region example_region --query 'UserPool.EmailConfiguration'

Output:

{
  "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
  "EmailSendingAccount": "DEVELOPER",
  "From": "admin@example.com"
}

-oppure-

{
  "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
  "EmailSendingAccount": "COGNITO_DEFAULT"
}

Se la configurazione EmailSendingAccount è impostata su DEVELOPER, il pool di utenti Amazon Cognito utilizzerà Amazon SES per inviare messaggi e-mail. Verifica che l'account Amazon SES sia presente nell'ambiente di sperimentazione (sandbox). In caso affermativo, sposta Amazon SES fuori dall'ambiente di sperimentazione (sandbox) per inviare messaggi e-mail a identità non verificate. Se l'account Amazon SES è in produzione o non è in modalità ambiente di sperimentazione (sandbox), controlla i log di Amazon SES per la consegna delle e-mail.

Se ricevi il messaggio COGNITO_DEFAULT nell'output, allora il pool di utenti Amazon Cognito utilizza la funzionalità predefinita per inviare messaggi e-mail. Con questa funzionalità predefinita, Amazon Cognito ha un limite di quota sul numero di messaggi e-mail inviati da ciascun pool di utenti.

Viene generata un'eccezione LimitExceededException

"Exceeded daily email limit for the operation or account. Number of allowed operation has exceeded. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email messages" (È stato superato il limite giornaliero di e-mail per l'operazione o l'account. Il numero di operazioni consentite è stato superato. Se è richiesto un limite superiore, configura il tuo pool di utenti in modo che utilizzi la tua configurazione Amazon SES per l'invio di messaggi e-mail).

Gli utenti ricevono l'errore del limite giornaliero di messaggi e-mail quando Amazon Cognito utilizza la funzionalità e-mail predefinita con un limite di quota giornaliero per inviare messaggi e-mail. Come suggerito nel messaggio di errore, imposta un volume di consegna dei messaggi e-mail più elevato modificando la configurazione di posta elettronica di Amazon SES.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa