Wie kann ich E-Mails von bestimmten Domains oder E-Mail-Adressen in Amazon SES blockieren?
Ich möchte nicht, dass meine Amazon Simple Email Service (Amazon SES)-Identität E-Mails von einer bestimmten Domain oder E-Mail-Adresse empfängt.
Kurzbeschreibung
Um zu verhindern, dass bestimmte Domains oder E-Mail-Adressen E-Mails an Ihre Amazon SES-Identität senden, führen Sie die folgenden Schritte aus:
- Erstellen Sie einer AWS-Lambda-Funktion. Konfigurieren Sie die Funktion, um eingehende E-Mails zu verarbeiten, den Absender auszuwerten und die Nachricht zu verwerfen, wenn der Absender mit einer bestimmten Domain oder E-Mail-Adresse übereinstimmt.
- Erstellen Sie eine Amazon-SES-Empfangsregel, die alle eingehenden E-Mails an die Lambda-Funktion weiterleitet.
- Überprüfen Sie die Amazon CloudWatch-Protokolle der Funktion, um sicherzustellen, dass die E-Mails blockiert sind.
Hinweis: Wenn Sie die Lambda-Aktion in der Amazon-SES-Empfangsregel hinzufügen, fallen Gebühren für Amazon SES und Lambda an.
Behebung
Erstellen einer Lambda-Funktion
1.Öffnen Sie die AWS-Lambda-Konsole. Wählen Sie die AWS-Region aus, die Sie für Amazon SES verwenden. Die Lambda-Funktion muss sich in der Region befinden, die Sie mit Amazon SES verwenden. Weitere Informationen finden Sie unter Lambda-Funktionsaktion aufrufen.
2. Wählen Sie Funktion erstellen aus.
3.Wählen Sie Autor von Grund auf neu aus.
4.Geben Sie unter Funktionsname den Namen Ihrer Funktion ein. Geben Sie beispielsweise „SESReceiptRule“ ein.
-
Wählen Sie für Laufzeit eine Sprache für Ihre Funktion aus. Node.js 14.x ist in diesem Beispiel ausgewählt.
-
Wählen Sie unter Architektur eine Architektur für Ihren Funktionscode aus.
7.Erweitern Sie unter Berechtigungen die Option **Standardausführungsrolle ändern **.
8.Wählen Sie unter Ausführungsrolle die Option Eine neue Rolle mit grundlegenden Lambda-Berechtigungen erstellen aus.
9. Wählen Sie Funktion erstellen aus.
- Geben Sie im Abschnitt Codequelle auf der Registerkarte index.js den folgenden Code ein:
// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.// SPDX-License-Identifier: MIT-0 'use strict'; const AWS = require('aws-sdk'); exports.handler = (event, context, callback) => { 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. var blockingListString = process.env.blockingList; blockingListString = blockingListString.replace(/\s/g,''); var blockingListArray = blockingListString.split(","); // Check if the mail source matches with any of the email addresses or domains defined in the environment variable function isListed() { var length = blockingListArray.length; for(var i = 0; i < length; i++) { if (mail.source.endsWith(blockingListArray[i])) return true; } return false; } console.log('Processing message:', messageId); // Processing the message if (isListed()) { callback(null, {'disposition':'STOP_RULE_SET'}); console.log('Rejecting messageId: ', messageId, ' - Source: ', mail.source, ' - Recipients: ',receipt.recipients,' - Subject: ', mail.commonHeaders['subject']); } else { console.log('Accepting messageId:', messageId, ' - Source: ', mail.source, ' - Recipients: ',receipt.recipients,' - Subject: ', mail.commonHeaders['subject']); callback(); } };
11.Geben Sie unter Umgebungsvariablen für Schlüssel die Zeichenfolge „blockingList“ ein.
Hinweis: Die Anzahl der Umgebungsvariablen, die Sie erstellen können, ist unbegrenzt. Die Gesamtgröße des Sets darf 4 KB nicht überschreiten. Weitere Informationen finden Sie unter AWS Lambda-Umgebungsvariablen verwenden.
12.Geben Sie unter Wert für „blockingList“ eine durch Kommas getrennte Liste der E-Mail-Adressen und Domains ein, die Sie blockieren möchten. (beispielsweise „example.com, JohnDoe@example.com“).
Hinweis: Sie müssen den Lambda-Funktionscode nicht ändern, um die Liste der E-Mail-Adressen und Domains zu bearbeiten.
- Wählen Sie Datei aus und dann Speichern.
Erstellen einer Amazon-SES-Empfangsregel
- Öffnen Sie die Amazon SES-Konsole.
- Wählen Sie im Navigationsbereich E-Mail-Empfang aus.
- Wenn Sie die Regel einem vorhandenen aktiven Regelsatz hinzufügen möchten, fahren Sie mit Schritt 4 fort. Um einen neuen Regelsatz zu erstellen, wählen Sie Einen Regelsatz erstellen aus, geben Sie einen Namen für den Regelsatz ein und wählen Sie anschließend noch einmal Einen Regelsatz erstellen aus.
Hinweis: Wenn Sie einen neuen Regelsatz erstellen, müssen Sie den Regelsatz und anschließend die Option Als aktiven Regelsatz festlegen auswählen. - Wählen Sie Aktiven Regelsatz anzeigen aus.
- Wählen Sie Regel erstellen aus.
Hinweis: Sie können auch eine bereits vorhandene Regel mit den Werten aktualisieren, die in den folgenden Schritten beschrieben werden. - Geben Sie unter Regeleinstellungen definieren die folgenden Informationen ein:
Geben Sie unter Regelname einen Namen für Ihre Regel ein.
Markieren Sie für Status das Kästchen Aktiviert, um die Regel als aktive Regel zu erstellen. Wählen Sie dann Weiter aus. - Wählen Sie für Empfängerbedingungen die Option Neue Empfängerbedingung hinzufügen aus.
- Geben Sie unter Empfängerbedingung die E-Mail-Adressen oder Domains ein, die mit Ihrer Amazon SES-Identität verknüpft sind. Wählen Sie dann Weiter aus.
Wichtig: Geben Sie die E-Mail-Adresse oder Domain ein, die keine E-Mails von bestimmten Absendern erhalten soll. Geben Sie nicht die E-Mail-Adresse oder Domain ein, deren E-Mails Sie blockieren möchten. Wenn Ihre Amazon-SES-Identität also beispielsweise die E-Mail-Adresse „JaneRoe@example.net“ verwendet und Sie E-Mails von „example.com“ blockieren möchten, geben Sie „JaneRoe@example.net“ ein. - Wählen Sie auf dem Bildschirm Aktionen hinzufügen unter Neue Aktion hinzufügen die Option AWS Lambda-Funktion aufrufen aus. Geben Sie folgende Informationen ein:
Wählen Sie unter Lambda-Funktion die Funktion aus, die Sie erstellt haben.
Wählen Sie unter Aufruftyp die Option Anforderungsantwort-Aufruf aus.
(Optional) Konfigurieren Sie das SNS-Thema so, wie es Ihr Anwendungsfall erfordert. Sie können dieses Feld aber auch leer lassen. Weitere Informationen zu diesem Feld finden Sie unter Lambda-Funktionsaktion aufrufen. Wählen Sie dann Weiter aus. - Wählen Sie Regel erstellen aus.
Hinweis: Möglicherweise wird ein Dialogfeld mit Fehlenden Berechtigungen mit der Meldung „SES konnte nicht auf die Ressource [Ihre Lambda-Funktion] zugreifen“ angezeigt. Dieser Fehler bedeutet, dass Amazon SES Berechtigungen für die Funktion benötigt. Sie können Berechtigungen hinzufügen auswählen, um die erforderlichen Berechtigungen zu konfigurieren.
CloudWatch-Logs der Funktion überprüfen
Gehen Sie nach der Einrichtung der Lambda-Funktion und der Amazon-SES-Regel wie folgt vor, um die blockierten E-Mails zu überprüfen:
1.Öffnen Sie die CloudWatch-Konsole.
2. Wählen Sie im Navigationsbereich unter Protokolle die Option Protokollgruppen aus.
3.Wählen Sie aus der Liste der Protokollgruppen die Protokollgruppe Ihrer Lambda-Funktion aus. Beispielsweise /aws/lambda/name_of_your_function.
- Wählen Sie unter Protokollstreams den Protokollstream aus, den Sie überprüfen möchten. Der Protokollstream zeigt die E-Mail-Nachrichten und Domains an, die die Lambda-Funktion verarbeitet. Sie sieht dem folgenden Beispiel ähnlich:
14:08:25 START RequestId: aa939984-1b9b-11e7-83d2-efc6877bdc9b Version: $LATEST14: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
Ähnliche Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor 2 Jahren