AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
如何在 Amazon SES 中封鎖某些網域或電子郵件地址的電子郵件?
我不想要 Amazon Simple Email Service (Amazon SES) 身分去接收特定網域或電子郵件地址的電子郵件。
解決方法
若要封鎖特定網域或電子郵件地址,避免其傳送電子郵件至您的 Amazon SES 身分,請完成下列步驟:
-
開啟 Lambda 主控台。
**注意:**Lambda 函數必須位於與 Amazon SES 搭配使用的相同 AWS 區域中。 -
選擇建立函數。
-
選取從頭開始撰寫。
-
針對函數名稱,輸入函數的名稱。例如,可以輸入 SESReceiptRule。
-
對於 執行時期,請選擇 Node.js 20.x。
-
在變更預設執行角色下,對於執行角色選擇使用基本 Lambda 權限建立新角色。
-
選擇建立函數。
-
在程式碼來源下,輸入下列程式碼:
// 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' }; } }; -
在環境變數下,針對索引鍵,輸入blockingList。
**注意:**您可以建立無限數量的環境變數。但是,規則集的大小總計不得超過 4 KB。如需詳細資訊,請參閱建立 Lambda 環境變數。 -
針對 blockingList 的值,輸入您想要封鎖的電子郵件地址和網域的逗點分隔清單。例如,輸入「example.com、JohnDoe@example.com」。
**注意事項:**您不需要變更 Lambda 函數程式碼,即可編輯電子郵件地址和網域的清單。 -
選擇儲存**。**
建立 Amazon SES 接收規則
完成下列步驟:
- 開啟 Amazon SES 主控台。
- 在導覽窗格中,選擇「電子郵件接收」。
- 選擇建立規則集、輸入規則集名稱,然後選擇建立規則集。或者,選擇現有的作用中規則集。
注意:如果您建立新的規則集,則選擇該規則集,然後選擇設定為作用中的規則集。 - 選擇檢視作用中的規則集。
- 選擇建立規則。
**注意:**您也可以選擇更新現有的規則。 - 針對規則名稱,輸入規則的名稱。然後,填寫下列欄位:
對於狀態,選擇已啟用。
(選擇性) 設定 Transport Layer Security (TLS) 或垃圾郵件和病毒掃描。 - 選擇下一步。
- 在收件者條件下,選擇新增新的收件者條件。請輸入與您的 Amazon SES 身分相關聯的電子郵件地址或網域。
**重要:**輸入您不想接收電子郵件的電子郵件地址或網域。請勿輸入您想要封鎖其電子郵件的電子郵件地址或網域。例如,如果您的 Amazon SES 身分使用電子郵件地址 "JaneRoe@example.net",而您想要封鎖來自 "example.com" 的電子郵件,請輸入 "JaneRoe@example.net"。 - 選擇下一步。
- 在新增動作下,對於新增動作,選擇調用 AWS Lambda 函數。然後,完成下列欄位:
對於 Lambda 函數,選擇您的函數。
對於調用類型,選擇 RequestResponse 調用。
(選擇性) 設定 ** SNS 主題**。 - 選擇下一步。
- 選擇建立規則。
注意:如果看到缺少權限對話方塊,其內訊息為「 無法存取 Lambda 函數」,則 Amazon SES 需要該函數的權限。選擇新增權限以設定必要權限。
檢查該函數的 CloudWatch 日誌
若要確認電子郵件是否被封鎖,請完成下列步驟:
- 開啟 Amazon CloudWatch 主控台。
- 在瀏覽窗格中,選擇日誌。
- 從日誌群組清單中,選擇 Lambda 函數的日誌群組。例如,選擇 /aws/lambda/name_of_your_function。
- 選擇要檢查的日誌串流。日誌串流會顯示 Lambda 函數已處理的電子郵件訊息和網域。
範例日誌串流: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
相關資訊
- 語言
- 中文 (繁體)
