

# Email Validation for Amazon SES
Email Validation

Email list quality is a critical factor in maintaining high delivery rates and protecting your sender reputation. Invalid or risky email addresses can lead to high bounce rates, spam complaints, and mailbox providers may reject emails, blacklist sending domains, or throttle delivery rates.

*Email Validation* is an Amazon SES feature that helps you validate email addresses before you send to them. It checks email addresses for syntax errors, domain validity, and other checks, and identifies risky addresses that could harm your sender reputation, helping you maintain high deliverability rates and protect your sender reputation.

**Why are email list quality and validation are important ?**  
Mailbox providers monitor key metrics such as bounce rates, complaint rates, and engagement levels to evaluate sender reputation. When these metrics exceed acceptable thresholds, providers implement protective measures such as rate limiting, temporary deferrals, or permanent blocks. High bounce rates (typically above 5-10%) signal poor list hygiene and trigger immediate reputation penalties.

Mailbox providers expect senders to maintain clean email lists and demonstrate good sending practices. They track hard bounces from invalid addresses, monitor spam trap hits, and measure recipient engagement to determine inbox placement. Poor list quality results in measurable impacts: reduced delivery rates, increased latency, and potential blacklisting that affects all future campaigns from your sending domain or IP address.

**How Email Validation can help improve deliverability and reputation ?**  
Email Validation helps you improve both your deliverability and reputation with an *API* that checks email addresses on demand, and *Auto Validation* that automatically reviews and filters outbound emails based on deliverability thresholds you set.
+ **API validation** – Validates email addresses through API calls, allowing you to validate addresses at the point of collection such as during sign-up forms or subscription processes, and for periodic list cleaning of existing databases. This helps prevent invalid addresses from entering your database, provides timely feedback to users about address validity, and enables regular maintenance of email list quality.
+ **Auto Validation** – Automatically reviews all outbound email addresses and only delivers messages to recipients that meet your selected delivery likelihood threshold (high or medium). This protects your sender reputation by preventing sends to invalid or risky addresses without requiring manual intervention.

**Topics**
+ [

# Email Validation API
](email-validation-api.md)
+ [

# Auto Validation
](email-validation-auto.md)
+ [

# Email Validation Dashboard
](email-validation-dashboard.md)

# Email Validation API
Email Validation API

API validation allows you to validate individual email addresses through API calls, providing immediate feedback about address validity, deliverability, and risk factors. This feature is designed for validating addresses at the point of collection, such as during user registration, subscription forms, or any other scenario where you need timely validation results.

API validation performs multiple checks on each email address, including syntax validation, domain verification, mailbox existence checks, and others. The validation results include confidence verdicts (HIGH, MEDIUM, or LOW) for overall validity and individual evaluations.

**Validation checks performed**  
API validation performs the following evaluations on each email address:
+ **Syntax Validation ('HasValidSyntax')** – Checks that the email address follows proper RFC standards and contains valid characters in the correct format.
+ **DNS Records ('HasValidDnsRecords')** – Checks that the domain exists, has valid DNS records, and is configured to receive email.
+ **Mailbox Existence ('MailboxExists')** – Checks that the mailbox exists and can receive messages without actually sending an email.
+ **Role Address ('IsRoleAddress')** – Identifies role-based addresses (such as admin@, support@, or info@) that may have lower engagement rates.
+ **Disposable Domain ('IsDisposable')** – Checks disposable or temporary email addresses that could negatively impact your sender reputation.
+ **Random String Patterns ('IsRandomInput')** – Checks randomly generated patterns.

## Using API validation with the Amazon SES console
API validation (console)

The following procedure shows you how to validate an email address using the Amazon SES console.

**To validate an email address using the Amazon SES console**

1. Sign in to the AWS Management Console and open the Amazon SES console at [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. In the left navigation pane, choose **Email addresses validation** under **Email Validation**.

1. In the **Validate email address** section, enter the email address you want to validate in the **Email address** field.

1. Choose **Validate**.

   The validation results appear in the **Validation results** panel, showing:
   + **IsValid** – Overall validity with a confidence verdict (HIGH, MEDIUM, or LOW).
   + **Evaluations** – Individual evaluation results with confidence verdicts for syntax, DNS records, mailbox existence, and risk factors listed above.

## Using API validation with the AWS CLI
API validation (AWS CLI)

The following examples show you how to validate email addresses using the AWS CLI.

**To validate an email address using the AWS CLI**  
You can use the [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_GetEmailAddressInsights.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_GetEmailAddressInsights.html) operation in the Amazon SES API v2 to validate email addresses. You can call this operation from the AWS CLI, as shown in the following examples.
+ Validate a single email address:

  ```
  aws --region us-east-1 sesv2 get-email-address-insights --email-address user@example.com
  ```
+ The response looks similar to this:

  ```
  {
      "MailboxValidation": {
          "IsValid": {
              "ConfidenceVerdict": "HIGH"
          },
          "Evaluations": {
              "HasValidSyntax": {
                  "ConfidenceVerdict": "HIGH"
              },
              "HasValidDnsRecords": {
                  "ConfidenceVerdict": "MEDIUM"
              },
              "MailboxExists": {
                  "ConfidenceVerdict": "MEDIUM"
              },
              "IsRoleAddress": {
                  "ConfidenceVerdict": "LOW"
              },
              "IsDisposable": {
                  "ConfidenceVerdict": "LOW"
              },
              "IsRandomInput": {
                  "ConfidenceVerdict": "LOW"
              }
          }
      }
  }
  ```
+ For more information about response values and data types, see the [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_MailboxValidation.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_MailboxValidation.html) data type in the Amazon SES API v2 reference.
+ Ensure your IAM identity has the required permissions for Email Validation API calls and CloudWatch metrics publishing:

  ```
  {
    "Version": "2012-10-17		 	 	 ",
    "Statement": [
      {
        "Sid": "EmailValidationPermissions",
        "Effect": "Allow",
        "Action": [
          "ses:GetEmailAddressInsights",
          "iam:CreateServiceLinkedRole"
        ],
        "Resource": "*"
      }
    ]
  }
  ```

  The `GetEmailAddressInsights` permission is required for API validation calls, and `CreateServiceLinkedRole` enables CloudWatch metrics publishing for validation activity.

**Interpreting validation results**  
The validation response includes confidence verdicts to help you make decisions about email addresses:
+ `IsValid` – Overall validity assessment with a confidence verdict of HIGH, MEDIUM, or LOW. HIGH validity confidence indicates high delivery likelihood for the email address, MEDIUM indicates moderate delivery likelihood and LOW indicates low delivery likelihood.
+ `Evaluations` – Individual evaluation results, each with a confidence verdict:
  + `HIGH` – Strong indication of the specific check (e.g., HIGH for IsRandomInput means the email is very likely randomly generated).
  + `MEDIUM` – Moderate indication of the specific check (e.g., MEDIUM for IsRandomInput means that there is some likelihood that the email address is randomly generated). 
  + `LOW` – Weak or no indication of the specific check (e.g., LOW for IsRandomInput means that the email address is less likely randomly generated).

# Auto Validation
Auto Validation

Auto Validation automatically reviews all outbound email addresses before sending and only delivers messages to recipients that meet your selected validation threshold. This helps you protect your sender reputation by preventing sends to likely invalid or risky addresses without requiring manual intervention or API integration.

When Auto Validation is enabled, Amazon SES validates each recipient address as part of attempting delivery. Addresses that don't meet your threshold are automatically suppressed. You can also set up configuration set [event destinations](event-publishing-add-event-destination.md) to track which emails did not pass the validation threshold. 

**Validation thresholds**  
Auto Validation currently supports three validation thresholds:
+ **SES managed** – Amazon SES automatically manages the threshold to suppress invalid addresses. This option allows Amazon SES to optimize the validation threshold based on your sending patterns and reputation.
+ **High** – Allows emails to be sent only to addresses with high delivery likelihood. This provides maximum protection for your sender reputation but may suppress some legitimate addresses with medium delivery confidence.
+ **Medium** – Allows emails to be sent to addresses with medium or high delivery likelihood. This balances reputation protection with delivery reach by allowing addresses with medium and high delivery confidence. This suppresses delivery to email addresses with low delivery confidence.

**Important**  
If you choose High or Medium thresholds instead of SES managed, it is important to monitor your delivery metrics and validation results regularly. 

## Managing Auto Validation with the Amazon SES console
Auto Validation (console)

The following procedure shows you how to enable or change Auto Validation settings using the Amazon SES console.

**To manage Auto Validation using the Amazon SES console**

1. Sign in to the AWS Management Console and open the Amazon SES console at [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. In the left navigation pane, choose **Auto Validation** under **Email Validation**.

1. Select **Enabled** checkbox to turn on the feature.

1. Choose a validation threshold.

1. Choose **Save changes**.

   The **Auto Validation** panel shows your updated settings.

**Important**  
Auto Validation applies to all outbound emails sent through your account. Addresses that don't meet your threshold will be suppressed. You also have an option to enable auto validation at the configuration set level. Suppressed sends still count towards your daily send quota and you will still be charged the standard outgoing message fee for suppressed sends in addition to the fee for auto validation. For pricing information, see the [SES pricing page](https://aws.amazon.com/ses/pricing/). 

## Enable Auto Validation at Configuration set level
Configuration set overrides

You can override account-level Auto Validation settings for specific configuration sets. This allows you to apply different validation thresholds for different types of email campaigns.

**To configure Auto Validation for a configuration set**

1. Sign in to the AWS Management Console and open the Amazon SES console at [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. In the left navigation pane, choose **Configuration sets** under **Configuration**.

1. Choose the configuration set you want to configure.

1. In the **Auto Validation options** section, choose **Edit**.

1. Select the **Override account level Auto Validation settings** checkbox.

1. Select the **Auto Validation enabled** checkbox to enable Auto Validation for this configuration set.

1. For **Validation threshold**, select either:
   + **SES managed** – Amazon SES automatically manages the threshold.
   + **High** – Only addresses with high delivery likelihood.
   + **Medium** – Addresses with medium delivery likelihood.

1. Choose **Save changes**.

If you don't override the account-level settings, the configuration set will use the Auto Validation settings defined at the account level. You can also set up [event destinations](event-publishing-add-event-destination.md) to track which emails did not pass the validation threshold.

## Managing Auto Validation with the AWS CLI
Auto Validation (AWS CLI)

The following examples show you how to enable and configure Auto Validation using the AWS CLI.

**To manage Auto Validation using the AWS CLI**  
You can use the [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_PutAccountSuppressionAttributes.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_PutAccountSuppressionAttributes.html) operation in the Amazon SES API v2 to manage Auto Validation. You can call this operation from the AWS CLI, as shown in the following examples.
+ Enable Auto Validation with a high threshold:

  ```
  aws --region us-east-1 sesv2 put-account-suppression-attributes --cli-input-json file://auto-validation.json
  ```

  The input file looks similar to this:

  ```
  {
      "SuppressedReasons": ["BOUNCE", "COMPLAINT"],
      "ValidationOptions": {
          "ConditionThreshold": {
              "ConditionThresholdEnabled": "ENABLED",
              "OverallConfidenceThreshold": {
                  "Verdict": "HIGH"
              }
          }
      }
  }
  ```
+ Change the threshold to medium:

  ```
  {
      "SuppressedReasons": ["BOUNCE", "COMPLAINT"],
      "ValidationOptions": {
          "ConditionThreshold": {
              "ConditionThresholdEnabled": "ENABLED",
              "OverallConfidenceThreshold": {
                  "Verdict": "MEDIUM"
              }
          }
      }
  }
  ```
+ Use SES managed threshold:

  ```
  {
      "SuppressedReasons": ["BOUNCE", "COMPLAINT"],
      "ValidationOptions": {
          "ConditionThreshold": {
              "ConditionThresholdEnabled": "ENABLED",
              "OverallConfidenceThreshold": {
                  "Verdict": "MANAGED"
              }
          }
      }
  }
  ```
+ Disable Auto Validation:

  ```
  {
      "SuppressedReasons": ["BOUNCE", "COMPLAINT"],
      "ValidationOptions": {
          "ConditionThreshold": {
              "ConditionThresholdEnabled": "DISABLED"
          }
      }
  }
  ```
+ To verify the outcome:

  ```
  aws --region us-east-1 sesv2 get-account
  ```

For more information about parameter values and data types, see the [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SuppressionAttributes.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SuppressionAttributes.html) data type in the Amazon SES API v2 reference.

**To configure Auto Validation for a configuration set using the AWS CLI**  
You can use the [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_PutConfigurationSetSuppressionOptions.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_PutConfigurationSetSuppressionOptions.html) operation to override Auto Validation settings for a specific configuration set.
+ Override account-level settings for a configuration set:

  ```
  aws --region us-east-1 sesv2 put-configuration-set-suppression-options --cli-input-json file://config-set-auto-validation.json
  ```

  The input file looks similar to this:

  ```
  {
      "ConfigurationSetName": "my-config-set",
      "SuppressedReasons": ["BOUNCE", "COMPLAINT"],
      "ValidationOptions": {
          "ConditionThreshold": {
              "ConditionThresholdEnabled": "ENABLED",
              "OverallConfidenceThreshold": {
                  "Verdict": "HIGH"
              }
          }
      }
  }
  ```
+ To verify the outcome:

  ```
  aws --region us-east-1 sesv2 get-configuration-set --configuration-set-name my-config-set
  ```

# Email Validation Dashboard
Email Validation Dashboard

The Email Validation Dashboard provides visibility into your email validation activity, showing validation results categorized by delivery likelihood confidence levels. You can monitor validation trends for API validations and console validations to understand the quality of your email lists and make informed decisions about your sending practices.

**Accessing the dashboard**  
To view the Email Validation Dashboard:

1. Sign in to the Amazon SES console at [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. In the navigation pane, choose **Email Validation**.

1. Choose the **Email Validation Dashboard** menu item to view validation metrics.

The dashboard provides a visual representation of your validation activity, helping you identify trends and make data-driven decisions about list hygiene and sending practices.

![\[alt text not found\]](http://docs.aws.amazon.com/ses/latest/dg/images/email_validation_api_dashboard.png)
