Home Use-Case Tutorials Verify and Clean an Email List

Verify and Clean an Email List

Last updated on Apr 06, 2026

Verify and Clean an Email List

This tutorial walks through running an existing email list through validation and deliverability checking. Use this before importing contacts into an email sequence or CRM to remove invalid addresses that would hurt your sender reputation.


Before you begin

  • Start with a CSV of email addresses. The file needs at least one column with email addresses.
  • No external integrations are required. This workflow uses TexAu's built-in utility actions.

What you will build

A single table with these columns:

Column Type What it does
Email Data Your starting email list
Email Type Action Identify Email Type (TexAu Utility)
Normalized Email Formula Cleans formatting issues
Verification Status Action Verify Email Address (BetterEnrich)
Catch-All Check Action Verify Catch-All Email (BetterEnrich)
Final Decision Formula Clean / Risky / Invalid label

Step 1: Import your email list

  1. Click New Table and name it Email Validation.
  2. Click Import CSV.
  3. Upload your file and map the email column to the first column.
  4. Name the column Email.

Step 2: Normalize email formatting

Before validating, clean the email addresses. Common issues include extra spaces and mixed-case addresses.

  1. Click Add Column and select Formula Column.
  2. Enter: LOWER(TRIM(email_column))
  3. Name this column Normalized Email.

Use Normalized Email as the input for all subsequent action columns.


Step 3: Identify email type

  1. Click Add Column.
  2. Select Action Column.
  3. Search for and select Identify Email Type (TexAu Utility).
  4. Map the Normalized Email column to the email input.
  5. Select Email Type as the output - this returns values like work, personal, role-based, disposable.
  6. Click Save.

This is a free TexAu utility action. It does not cost credits.


Step 4: Verify email deliverability

  1. Click Add Column.
  2. Select Action Column.
  3. Search for and select Verify Email Address (BetterEnrich).
  4. Map Normalized Email as input.
  5. Select Verification Status and Is Deliverable as outputs.
  6. Click Save.

This action costs 1 credit per row. Verification Status returns values like valid, invalid, catch_all, unknown.


Step 5: Check catch-all domains

Catch-all domains accept any email sent to them, making it impossible to verify individual addresses. Add this check to flag those addresses separately.

  1. Click Add Column.
  2. Select Action Column.
  3. Search for and select Verify Catch-All Email (BetterEnrich).
  4. Map Normalized Email as input.
  5. Select Is Catch All as the output - returns true/false.
  6. Click Save.

This action costs 1 credit per row.


Step 6: Build the Final Decision column

  1. Click Add Column and select Formula Column.
  2. Enter this formula:
IF(verification_status = "invalid", "Remove",
  IF(is_catch_all = "true", "Risky",
    IF(email_type = "disposable", "Remove",
      IF(email_type = "role-based", "Risky",
        "Clean"
      )
    )
  )
)
  1. Name this column Final Decision.

Step 7: Run the table

  1. Click Run All Rows.
  2. Wait for all columns to complete.

Step 8: Filter and export

  1. Filter the table to show only rows where Final Decision = "Clean".
  2. Click Export to download as CSV.
  3. Import the clean list into your email tool.

For the "Risky" rows, you can run a separate outreach campaign with adjusted messaging and monitor bounce rates closely.


Expected results

For a typical purchased or cold contact list of 1,000 emails:

  • Clean: 40-60%
  • Risky (catch-all domains): 15-25%
  • Remove (invalid or disposable): 20-35%

Deliverability rates improve significantly when you only send to "Clean" addresses.


Troubleshooting

Verification Status shows "unknown" for many emails. "Unknown" means the verifier could not confirm the address one way or another. This commonly happens for strict corporate mail servers that do not respond to verification checks. Treat "unknown" as risky - do not send at full volume. Test with a small batch first.

Most addresses on a domain return "catch_all". The company's mail server accepts all addresses on their domain. You cannot verify individual addresses on that domain. Use a different channel or verify with a real send to a small test group.

The normalized email column is showing the same issues as the raw email column. Check your formula. Make sure you are applying LOWER(TRIM(...)) to the column name that contains the raw email, not to a static text value.