Skip to content

Verify your Mailjet contacts before you send

Integration Sending and campaigns

Mailjet email verification in three steps: export your contact list, verify the file in PricklyMails, then exclude the addresses to remove.

There is no native Mailjet connector: you export the list, PricklyMails verifies it, and you bring the result back into Mailjet. New addresses can go through the API before they ever reach Mailjet.

Verify for free

Step by step

Clean your list in three steps

  1. In Mailjet

    Export your contact list from Mailjet

    1. Go to Contacts then Contact Lists.
    2. Click the name of the list you want to verify.
    3. Click Export list, on the right, then CSV File.

    Tip

    PricklyMails only needs the addresses: skip the Display properties drop-down, which adds your contact properties to the file, and keep the email column alone in a spreadsheet before moving on.

    Tip

    To verify your whole account rather than one list, export Contacts then All Contacts as a CSV file instead. It holds every address that has ever been on one of your lists, past contacts included.

    SourceMailjet's official help center
  2. In PricklyMails

    Verify the file in PricklyMails

    1. In the dashboard, open Batches and click New batch.
    2. Drop the file you exported from Mailjet: a .csv or .txt with one address per line, no header row and no quotes. A header row would count as an address in the estimate, though it is never billed, and a quoted address would not be verified: the report lists both as malformed. You can also paste the list.
    3. The dashboard counts the addresses and shows the estimated cost in tokens before anything is sent, then you click Submit batch. A batch holds at least 20 addresses, and your plan sets the largest list it can hold.
    4. The list is verified in the background. Once the batch is done, open it and click Download report: you get a CSV with a row for each address of your file, giving its verdict, its reason, its score and its recommendation, with the dashboard's labels.

    Note

    Download the report from the browser that sent the list: that browser is what keeps the addresses, for the 16 most recent batches at most. Our servers, in Germany, only keep a one-way fingerprint of each one.
    What the report says

    Every address gets a recommendation: the action to take. The report writes it with the dashboard's label; the API returns a short form of it.

    Send
    The address is valid, or hosted by a large provider that accepts every address without confirming any. Send as usual.
    Review
    A domain that accepts any address (catch-all), a generic address such as contact@, a full mailbox, or a server that never answered, or refused to. Take a look before you send.
    Remove
    The address does not exist, its domain cannot receive mail, or it is disposable, mistyped or malformed. Take it out.

    Note

    A malformed address is never verified: the batch counts it under "Malformed addresses", and the report still lists it, with the verdict "Invalid", the reason "Malformed address" and the recommendation "Remove", so you take it out of Mailjet with the others. A duplicate, counted under "Duplicates removed", appears only once.

    Behind each recommendation sit a verdict (Valid, Risky, Invalid or Not verifiable), a reason and a score from 0 to 100, each in its own column of the report. When a server never answers, the address comes back "Not verifiable" and the checks that got no answer are refunded.

  3. In Mailjet

    Bring the result back into Mailjet

    Open the report in a spreadsheet and filter the Recommendation column.

    Remove

    They go to the campaign exclusion list: Mailjet leaves them out of all your campaigns and automations, whatever list they are on.

    Unsubscribing a contact only applies to one list, while the campaign exclusion list covers every list at once.

    1. In Mailjet, go to Contacts then Exclusion List.
    2. Click Manage Contacts.
    3. Keep Add contacts selected, then click Continue.
    4. Under List source, choose Insert manually, then click Continue.
    5. Paste the addresses to remove.
    6. Click Add contacts.
    Review

    They deserve a look before your next campaign. To find them in Mailjet, gather them in a dedicated list: in Contacts then Contact Lists, click Create a contact list and paste them with Insert manually.

    Send

    They stay in your lists: nothing to do.

    Note

    The exclusion list only covers your campaigns and automations: an excluded address still receives your transactional emails, such as an order confirmation.

    Tip

    Would you rather upload a file? Choose Upload a file under List source: Mailjet takes a CSV, TXT or RTF file and only keeps the email addresses from it.

    SourceMailjet's official help center

Verify each address before it reaches Mailjet

Does your signup form or sync script add contacts to a Mailjet list through its API, with the Contact List: Manage Contact (opens in a new tab) call? Ask PricklyMails first. If the recommendation is remove, don't add the address to your list.

One call starts the verification and already flags a likely typo, a second one reads the verdict. Depending on your plan, a signed webhook can also send it to you as soon as it's ready.

Request
curl -s https://api.pricklymails.com/api/verify \
  -H "Authorization: Bearer pm_live_9f3a..." \
  -H "Content-Type: application/json" \
  -d '{ "email": "ana.silva@gmail.con" }' \
  | jq '{job_uuid, suggestion}'
Response
{
  "job_uuid": "8f1c2a9e-4b7d-4e2a-9c61-3d5f0b7a2e18",
  "suggestion": "ana.silva@gmail.com"
}
Request
curl -s https://api.pricklymails.com/api/verify/$JOB_UUID \
  -H "Authorization: Bearer pm_live_9f3a..." \
  | jq '.verifications[0] | {status, reason, score, recommendation}'
Response
{
  "status": "invalid",
  "reason": "no_mx_records",
  "score": 0,
  "recommendation": "remove"
}
Read the API docs

Frequently asked questions

Mailjet already blocks bounced addresses, so why verify first?

Mailjet's help center says a hard bounce can harm your sender reputation, and that Mailjet then blocks the address for 90 days: by then the email has gone out and the bounce has counted. Its acceptable use policy expects bounces to stay at or below 5% of your messages, and says Mailjet may limit, suspend or terminate an account that breaches the policy. Verifying first takes those addresses out before they bounce.

SourceMailjet's official help center

Should I exclude, unsubscribe or delete the addresses to remove?

Exclude them. According to Mailjet's help center, unsubscribing a contact only applies to that one list, while the campaign exclusion list keeps the address out of all your campaigns and automations; it still receives your transactional emails. Deleting is permanent: Mailjet anonymizes the contact, removes it from every list, and adds it back as a new contact if it subscribes again.

SourceMailjet's official help center

Can't I just remove bounced addresses after each campaign?

You can, and Mailjet's help center suggests it after each send: on the campaign's Non-delivery tab, Manage contacts removes the bounced or blocked addresses from the list the campaign went to. Those addresses have already bounced by then, though, and a contact on several lists stays on the others until you remove it from each one. Verifying before the campaign, then excluding the addresses to remove, covers every list at once.

SourceMailjet's official help center

Does PricklyMails connect to Mailjet directly?

No, there is no native connector: you go through a file export, as above. You can also call the PricklyMails API from your own code before an address reaches Mailjet.

These trademarks belong to their respective owners. Naming them implies no partnership.

Check your list before your next send.

1,000 tokens free when you sign up, no credit card. After that, you only pay for answers.