Real-Time List Cleaning is an add-on. Contact support to turn it on for a sub-account. Without the add-on, no addresses are checked and no Validation events are sent.
Turn it on
Validation events go to your account-level webhooks, never to the per-emailwebhookEndpoint.
- Dashboard: open Webhooks, edit or create a webhook, and tick Validation.
- API: set
validated: truewhen you create or update a webhook.
validated keeps its current value. To stop Validation events, send "validated": false.
The results
Each Validation event hasevent.type set to 82 and event.validationStatus set to one of four words:
The value
catch all contains a space. Match the four words exactly as shown.event.smtpCode and event.smtpDescription hold the mail server’s reply, for example 550 and 5.1.1 The email account that you tried to reach does not exist. A catch all result uses SendPost’s own code 111 with the description Catch all domain. Free mailbox providers such as Gmail, Outlook and Yahoo are never reported as catch all.
What happens to an invalid email
An email whose address isinvalid is not sent, and you also receive an event that says so:
- Rejected by the mailbox check: you receive an SMTP Dropped event (type
26), and the address is added to your suppression list. - Stopped before the mailbox check: if the domain is a known typo domain (for example
gmial.com), the address already hard-bounced on SendPost, or it is on SendPost’s blocklist, the email is dropped straight away. You receive a Dropped event (type1) and a Validation event withinvalid, code554and the drop reason insmtpDescription.
Example payload
event.messageID is the messageId returned when you sent the email, so you can match the result to the email and its other events. A Validation event is normally sent once per email and usually arrives within seconds of the send, before any Delivered event. In rare cases it can arrive twice, so de-duplicate on messageID.
Choose which results you receive
By default a webhook with Validation on receives all four results. To receive only some of them, seteventSubOptions.validated when you create or update the webhook, listing all four keys. A result set to false, or left out, is not sent. In the dashboard, use the checkboxes under Filter validation results.
Skip the check for one email
If you already know an address is good, skip the check for that email. It is then sent without a check and gets no Validation event. Use either option:skipValidation: truein the body of Send Email or Send Email With Template.- The header
X-Sendpost-Validate: falseinheaders. This also works over SMTP relay and in SDK versions that don’t haveskipValidationyet.
Test your endpoint
In the dashboard, open a webhook, choose Validation as the test event and click Test. Your endpoint receives a type82 event with validationStatus set to valid for test@example.com. Test events are always sent, whatever your Validation setting and filters are.