Skip to content

Verify your Odoo mailing lists before you send

Integration CRM, support and community

Odoo email verification in three steps: export a mailing list, verify the file in PricklyMails, then blacklist the addresses to remove.

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

Verify for free

Step by step

Clean your list in three steps

  1. In Odoo

    Export your mailing list from Odoo

    1. Go to Email Marketing then Mailing Lists then Mailing Lists.
    2. Click the Total Contacts link on the line of the list to verify.
    3. Tick the checkbox at the top of the list to select its contacts.
    4. Click Actions, then Export.
    5. Under Fields to export, keep the email field alone: remove the others with their Remove field icon.
    6. Pick the CSV format, then click Export.

    Tip

    Your addresses live in the Contacts app rather than in a mailing list? Export them from its list view the same way: Odoo exports any field of any record.

    SourceOdoo'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 Odoo: 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 Odoo 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 Odoo

    Bring the result back into Odoo

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

    Remove

    They go to the blacklist: Odoo leaves them out of every marketing mailing, whatever list or record holds them.

    Odoo imports a file into any list view, the blacklist included: one file of the addresses to remove fills it in one go.

    1. Copy them into a new CSV file, one address per line, under an Email Address header.
    2. In Odoo, go to Email Marketing then Configuration then Blacklisted Email Addresses.
    3. Click the Action icon, then Import records.
    4. Click Upload Data File and select your file.
    5. Check that the column is mapped to the Email Address field.
    6. Click Test to check the file.
    7. Click Import.
    Review

    They deserve a look before your next mailing. To find them in Odoo, create a mailing list for them, click Import Contacts on its line, and paste them into Contact List.

    Send

    They stay in your mailing lists: nothing to do.

    Warning

    Odoo imports are permanent and cannot be undone: always click Test before Import.

    Note

    A blacklisted address still receives transactional emails, such as order confirmations or shipping notifications.

Verify each address before it reaches Odoo

Does your website form or sync script create contacts in Odoo through its External JSON-2 API (opens in a new tab)? Ask PricklyMails first. If the recommendation is remove, don't create the contact.

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

Should I blacklist the addresses or opt them out of the list?

Blacklist them. In Odoo, ticking Opt Out next to a mailing list on a contact's form only takes the contact out of that one list, while a blacklisted address is excluded from all marketing mailings, whatever list or record holds it. It still receives transactional emails, such as order confirmations.

Can I take an address back off the blacklist?

Yes, one at a time: open it in Blacklisted Email Addresses, click Unblacklist, give a Reason if you like, then click Confirm. The import itself cannot be undone, but Odoo suggests filtering on the creation or last modification date to find the records an import created.

How do I see whether the cleanup paid off?

Open the mailing list: its % Bounce smart button shows the percentage of the mailings sent to this list that bounced back, and clicking it opens the details. Compare it before and after your next mailing.

SourceOdoo's official help center

Does PricklyMails connect to Odoo 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 Odoo.

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.