Skip to content

Validate Email

Validate email addresses to ensure they’re properly formatted and potentially deliverable. The action performs multiple independent validation checks and returns detailed results for each check, giving you complete visibility into email quality.

The Validate Email action checks email addresses against multiple validation criteria and returns detailed results for each check. All checks are run independently, so you can see exactly which validation criteria passed and which failed. Use it to maintain data quality, prevent bounces, and segment contacts by email validity.

The email address to validate. Select a contact’s email property or enter a static value.

Example:

contact.email (property token)
john.doe@company.com

All output fields return "TRUE" or "FALSE" as strings.

Returns "TRUE" if the email passes all validation checks, "FALSE" if any check fails.

Returns "TRUE" if the email has a valid format according to RFC standards (e.g., user@domain.tld).

Returns "TRUE" if the email has a domain part after the @ symbol.

Returns "TRUE" if the email domain has valid MX (mail exchange) DNS records, indicating it can receive email.

Returns "TRUE" if the email does not use a known disposable/temporary email domain. Returns "FALSE" for disposable domains like mailinator.com, tempmail.com, etc.

Scenario: Only process contacts with fully valid email addresses.

Workflow Setup:

  1. Add Validate Email action with the contact’s email property
  2. Add If/Then branch: valid equals "TRUE"
  3. Continue workflow for valid emails only

Scenario: Mark contacts using disposable emails for review.

Workflow Setup:

  1. Validate the email
  2. If notDisposable equals "FALSE":
    • Set contact property “Email Quality” to “Disposable”
    • Add to “Review Needed” list

Example 3: Handle Format Issues Separately

Section titled “Example 3: Handle Format Issues Separately”

Scenario: Take different actions based on what’s wrong with the email.

Workflow Setup:

  1. Validate the email
  2. If valid equals "FALSE":
    • If validFormat equals "FALSE": Create task “Fix email format”
    • Else if notDisposable equals "FALSE": Create task “Contact using disposable email”
    • Else if validDns equals "FALSE": Create task “Email domain has no mail server”

Scenario: Verify emails can actually receive messages before sending campaigns.

Workflow Setup:

  1. Validate the email
  2. Check both validFormat and validDns:
    • If both are "TRUE": Tag as “Deliverable”
    • Otherwise: Tag as “Undeliverable”

All checks are performed independently. If one check fails, the remaining checks still run and return their results.

CheckFieldDescriptionExample PassesExample Failures
FormatvalidFormatValid email syntax per RFC standardsuser@domain.comnotanemail, @domain.com, user@
DomainvalidDomainHas a domain after @ symboluser@company.comuser@, useratcompany
DNS RecordsvalidDnsDomain has valid MX recordsuser@gmail.comuser@fake-domain-xyz.com
Not DisposablenotDisposableNot a temporary/disposable emailuser@company.comuser@mailinator.com, user@tempmail.org

The action checks against hundreds of known disposable email domains using the mailchecker library, including:

  • mailinator.com
  • tempmail.com
  • guerrillamail.com
  • 10minutemail.com
  • throwaway.email
  • And hundreds more…

The DNS check performs an MX (Mail Exchange) record lookup on the email domain with a 5-second timeout. This verifies that:

  • The domain exists
  • The domain is configured to receive email
  • Mail servers are set up for the domain

Note: A passing DNS check doesn’t guarantee the specific email address exists, only that the domain can receive mail.

Since all checks run independently, you can get granular insights:

ScenariovalidFormatvalidDomainvalidDnsnotDisposablevalidMeaning
Perfect emailTRUETRUETRUETRUETRUEEmail is fully valid
Disposable emailTRUETRUETRUEFALSEFALSEValid but temporary service
Typo in formatFALSEFALSEFALSEFALSEFALSESyntax error caught early
Non-existent domainTRUETRUEFALSETRUEFALSEDomain doesn’t receive mail
Missing @ symbolFALSEFALSEFALSEFALSEFALSEBasic format issue
  • Validate on form submission — Catch bad emails before they enter your CRM
  • Don’t delete contacts — Flag invalid emails for review instead of auto-deleting
  • Use granular checks — Take different actions based on which specific check failed
  • Handle disposables carefully — Disposable emails may still be useful for certain campaigns
  • Consider DNS failures — Could be temporary or configuration issues
  • Combine with other data — Use email validation alongside other quality signals
  • Deduct points if valid equals "FALSE"
  • Deduct points if notDisposable equals "FALSE"
  • Add points if validDns equals "TRUE" (domain has mail server)
  • Only send to contacts where validFormat and validDns both equal "TRUE"
  • Reduce bounce rates and improve sender reputation
  • Flag contacts with notDisposable = "FALSE" for exclusion
  • Periodic validation of existing contacts
  • Identify records where validFormat = "FALSE" for cleanup
  • Create workflows to fix or remove invalid records
  • Route contacts with validDns = "FALSE" to data quality team
  • Route contacts with notDisposable = "FALSE" to review queue
  • Auto-approve contacts where valid = "TRUE"
  1. Format Check: Uses the validator library’s isEmail() function with RFC standards
  2. Disposable Check: Checks against the mailchecker database of known disposable domains
  3. Domain Check: Extracts and verifies the domain portion exists
  4. DNS Check: Performs MX record lookup with 5-second timeout
  • Format, disposable, and domain checks: < 1ms
  • DNS check: 10-500ms (depends on network, cached after first lookup)
  • Total execution time: Typically 10-500ms per email