Managing email filters with SES API#

In addition to sending emails, you can also receive email with Amazon Simple Email Service (SES). An IP address filter enables you to optionally specify whether to accept or reject mail that originates from an IP address or range of IP addresses. For more information, see Managing IP Address Filters for Amazon SES Email Receiving.

The following examples show how to:

Prerequisite tasks#

To set up and run this example, you must first complete these tasks:

  • Configure your AWS credentials, as described in Quickstart.

Create an email filter#

To allow or block emails from a specific IP address, use the CreateReceiptFilter operation. Provide the IP address or range of addresses and a unique name to identify this filter.

Example#

import boto3

# Create SES client
ses = boto3.client('ses')

# Create receipt filter
response = ses.create_receipt_filter(
  Filter = {
    'NAME'     : 'NAME',
    'IpFilter' : {
      'Cidr'   : 'IP_ADDRESS_OR_RANGE',
      'Policy' : 'Allow'
    }
  }
)

print(response)

List all email filters#

To list the IP address filters associated with your AWS account in the current AWS Region, use the ListReceiptFilters operation.

Example#

import boto3

# Create SES client
ses = boto3.client('ses')

response = ses.list_receipt_filters()

print(response)

Delete an email filter#

To remove an existing filter for a specific IP address use the DeleteReceiptFilter operation. Provide the unique filter name to identify the receipt filter to delete.

If you need to change the range of addresses that are filtered, you can delete a receipt filter and create a new one.

Example#

import boto3

# Create SES client
ses = boto3.client('ses')

response = ses.delete_receipt_filter(
  FilterName = 'NAME'
)

print(response)