Come faccio a bloccare le e-mail provenienti da domini o indirizzi e-mail specifici in Amazon SES?
Non voglio che la mia identità Amazon Simple Email Service (Amazon SES) riceva e-mail da un dominio o un indirizzo e-mail specifico.
Risoluzione
Per bloccare domini o indirizzi e-mail specifici in modo che non inviino e-mail alla tua identità Amazon SES, completa i seguenti passaggi:
-
Apri la console Lambda.
Nota: la funzione Lambda deve trovarsi nella stessa Regione AWS utilizzata con Amazon SES. -
Scegli Crea funzione.
-
Seleziona Crea da zero.
-
In Nome funzione, inserisci un nome per la funzione. Ad esempio, puoi inserire SESReceiptRule.
-
Per Runtime, scegli Node.js 20.x.
-
In Modifica del ruolo di esecuzione predefinito, per Ruolo di esecuzione, scegli Crea un nuovo ruolo con autorizzazioni Lambda di base.
-
Scegli Crea funzione.
-
In Origine del codice, inserisci il codice seguente:
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 'use strict'; export const handler = async (event) => { console.log('Blocking email filter starting'); const sesNotification = event.Records[0].ses; const messageId = sesNotification.mail.messageId; const receipt = sesNotification.receipt; const mail = sesNotification.mail; // Convert the environment variable into array. Clean spaces from it. const blockingListString = process.env.blockingList; const blockingListArray = blockingListString.replace(/\s/g, '').split(","); // Check if the mail source matches with any of the email addresses or domains defined in the environment variable const isListed = () => { return blockingListArray.some(item => mail.source.endsWith(item)); }; console.log('Processing message:', messageId); // Processing the message if (isListed()) { console.log('Rejecting messageId: ', messageId, ' - Source: ', mail.source, ' - Recipients: ', receipt.recipients, ' - Subject: ', mail.commonHeaders['subject']); return { disposition: 'STOP_RULE_SET' }; } else { console.log('Accepting messageId:', messageId, ' - Source: ', mail.source, ' - Recipients: ', receipt.recipients, ' - Subject: ', mail.commonHeaders['subject']); return { disposition: 'CONTINUE' }; } };
-
In Variabili di ambiente, per Chiave, inserisci blockingList.
Nota: è possibile creare un numero illimitato di variabili di ambiente. Tuttavia, la dimensione totale dell'insieme non può superare i 4 KB. Per ulteriori informazioni, consulta Create Lambda environment variables (Creazione delle variabili di ambiente Lambda). -
Per il valore blockingList, inserisci un elenco separato da virgole degli indirizzi e-mail e dei domini che vuoi bloccare. Ad esempio, inserisci "example.com, JohnDoe@example.com".
Nota: non è necessario modificare il codice della funzione Lambda per modificare l'elenco di indirizzi e-mail e domini. -
Scegli Salva.
Creazione di una regola di ricezione Amazon SES
Completa i seguenti passaggi:
- Apri la console Amazon SES.
- Nel pannello di navigazione, scegli Ricezione di e-mail.
- Scegli Crea un set di regole, inserisci un nome per il set di regole, quindi scegli Crea un set di regole. Oppure, scegli un set di regole attivo esistente.
Nota: se crei un nuovo set di regole, seleziona il set di regole e scegli Imposta come set di regole attivo. - Scegli Visualizza set di regole attivo.
- Scegli Crea regola.
Nota: puoi anche scegliere di aggiornare una regola esistente. - Per Nome regola, inserisci un nome per la regola. Quindi, completa i seguenti campi:
Per Stato, seleziona Abilitato.
(Facoltativo) Configura Transport Layer Security (TLS) o Scansione di spam e virus. - Scegli Avanti.
- Per Condizioni del destinatario, scegli Aggiungi nuova condizione del destinatario. Inserisci gli indirizzi e-mail o i domini associati alla tua identità Amazon SES.
Importante: inserisci l'indirizzo email o il dominio con cui non desideri ricevere le email. Non inserire l'indirizzo e-mail o il dominio da cui vuoi bloccare le e-mail. Ad esempio, se la tua identità Amazon SES utilizza l'indirizzo e-mail "JaneRoe@example.net" e vuoi bloccare le e-mail da "example.com", inserisci "JaneRoe@example.net". - Scegli Avanti.
- Nella schermata Aggiungi azioni, in Aggiungi nuova azione, seleziona Invoca funzione AWS Lambda. Quindi, completa questi campi:
Per Funzione Lambda, seleziona la tua funzione.
Per Tipo di invocazione, seleziona Invocazione RequestResponse.
(Facoltativo) Configura il topic SNS. - Scegli Passaggio successivo.
- Scegli Crea regola.
Nota: se viene visualizzata una finestra di dialogo Autorizzazioni mancanti con il messaggio "impossibile accedere alla funzione Lambda", Amazon SES richiede le autorizzazioni per la funzione. Scegli Aggiungi autorizzazioni per configurare le autorizzazioni richieste.
Controllo dei log CloudWatch della funzione
Per verificare che l'e-mail sia bloccata, completa i passaggi seguenti:
- Apri la console Amazon CloudWatch.
- Nel pannello di navigazione, scegli Log.
- Dall'elenco dei gruppi di log, scegli il gruppo di log della funzione Lambda. Ad esempio, scegli /aws/lambda/name_of_your_function.
- Scegli il flusso di log che desideri controllare. Il flusso di log mostra i messaggi di posta elettronica e i domini elaborati dalla funzione Lambda.
Esempio di flusso di log:14:08:25 START RequestId: aa939984-1b9b-11e7-83d2-efc6877bdc9b Version: $LATEST 14:08:25 2017-04-07T14:08:25.957Z aa939984-1b9b-11e7-83d2-efc6877bdc9b Blocking email filter starting 14:08:25 2017-04-07T14:08:25.958Z aa939984-1b9b-11e7-83d2-efc6877bdc9b Processing message: jc0iurgrtkrsrs7f5pk0rsmf4r3q0poikdjfdi01 14:08:25 2017-04-07T14:08:25.959Z aa939984-1b9b-11e7-83d2-efc6877bdc9b Rejecting messageId: jc0iurgrtkrsrs7f5pk0rsmf4r3q0poikdjfdi01 - Source: user@example.com - Recipients: [ 'user@domain.com' ] - Subject: This is an unwanted message 14:08:25 END RequestId: aa939984-1b9b-11e7-83d2-efc6877bdc9b
Informazioni correlate
Invoke Lambda function action (Invocare l'azione della funzione Lambda)
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa