Bring your sending to Postal
The path is the same on any platform: verify the domain, switch the sending, bring over the contacts and run both side by side until you switch. Below, the general step-by-step and a guide for each platform.
- Apply to any source
- 4 steps
- One for each platform
- 9 guides
- Domain on both at the same time
- Yes
- Through a CSV file of contacts
- 20 MB
Platforms
Choose where you're coming from
The badge tells you plainly how much work it is.
Resend
Sending by API and SMTP. Postal's API uses the same resources and formats, so you can keep the Resend SDK.
See the guideRewrite the callsSendGrid
Sending by API and SMTP, plus marketing. The send call, templates and webhooks have a different format.
See the guideRewrite the callsMailgun
Sending by API and SMTP. Calls and webhooks have a different format.
See the guideRewrite the callsPostmark
Sending by API and SMTP, aimed at system emails. Calls and webhooks have a different format.
See the guideRewrite the callsAmazon SES
Sending by API and SMTP. Calls and events have a different format.
See the guideMove contacts and recreate broadcastsMailchimp
Email marketing platform. The work is bringing over the contacts and recreating broadcasts and automations.
See the guideRewrite and move contactsBrevo
Formerly Sendinblue: API, SMTP and marketing. Calls, templates and contacts change format; SMS, WhatsApp and CRM have no counterpart.
See the guideRewrite and move contactsLoops
Email for products: contacts, events, workflows and transactional emails. The design is similar to Postal's; the format of the calls changes.
See the guideMove leads and rebuild flowsRD Station
Brazilian marketing platform: leads, segmentations, automation flows, emails and forms. Leads and emails come over; landing pages, pop-ups and lead scoring have no counterpart.
See the guideVerify the domain on Postal
To send with your domain, Postal asks for a few DNS records that prove it is yours and make your emails pass the SPF, DKIM and DMARC checks. If your main domain already sends through another service, Postal recommends a subdomain just for emails.
- Postal checks the records on its own for up to 72 hours and notifies you by webhook when the domain is verified
- Postal's records have their own names (
postal._domainkeyand thepostalsubdomain) - Sending goes out of São Paulo by default; other regions are available per domain
Switch the sending: SMTP or API
If your system speaks SMTP (online stores, WordPress, ERPs), change only the connection details: server, user and an API key as the password. If it calls the current platform's API, the call becomes POST /emails; each platform's guide shows it field by field.
- Create an API key (it starts with
ps_). For systems that only send, use a sending-only key, restricted to the domain - SMTP and API go through the same rules: verified domain, quotas and suppression list
- SMTP has no tags, scheduling or templates: for those, use the API
Server smtp.postal.so
Port 465 (direct TLS) or 587 (STARTTLS)
User postal
Password ps_your_keyBring over your contacts and people who already opted out
Export the contacts from your current platform as CSV and import them in the dashboard, under Audience, Import CSV. You say which column is each field, and existing contacts are updated by email.
- CSV up to 20 MB, with the separator detected automatically and UTF-8 or Windows-1252 encoding (the one Excel uses)
- Mark people who already unsubscribed in the unsubscribe column, so they don't start receiving again
- Addresses already on Postal's suppression list do not become contacts
- Old bounces and complaints go onto the suppression list through the API, with up to 100 addresses per request
email;first_name;last_name;plan;unsubscribed
[email protected];Ana;Souza;pro;no
[email protected];Bruno;Lima;free;yesRun both side by side and switch
You don't need to turn everything off at once. Move one flow at a time to Postal, compare deliveries and bounces in the first few days and only then move the next one.
- Email and webhook IDs are different on each platform: record which provider each email went out through
- A single flow (password reset, for example) should go out through a single path, so nothing is duplicated
- New accounts start with a ceiling of 500 emails a day, which grows with the account reputation, and sending pauses with permanent bounces above 3% to 5%, depending on the level, or complaints above 0.3%: raise the volume in stages and watch the bounces
What Postal imports and what it doesn't
| What you have | On Postal | How |
|---|---|---|
| Contacts | Imports | CSV through the dashboard (Audience, Import CSV) or POST /contacts/imports. First name, last name, external ID, tags, unsubscribe status, properties, segment and topics. |
| People who already unsubscribed | Imports | Unsubscribe column in the same CSV: the contact stays in the audience, without receiving broadcasts. |
| Bounces and complaints | Imports | Suppression list through the API, POST /suppressions/batch/add, 100 per request. In the dashboard, one address at a time. |
| Templates | Rebuild | Postal does not convert templates from another platform. Paste the HTML into the editor or send it through POST /templates, with variables in the {{{NOME}}} format. |
| Webhooks | Rebuild | Create the endpoint under Webhooks (dashboard or POST /webhooks), choose the events and save the signing secret. |
| Campaigns and automations | Rebuild | Rebuild in the editor and under Automations. What you need to bring over is the contacts and the content. |
| Domain and API keys | Rebuild | Domain verified with Postal's records and new keys (ps_…). |
| Sending history and metrics | Doesn't import | There is no history import. Export whatever you want to keep before closing the old account. |
Frequently asked questions
Do I need to turn off my current platform before I start?
No. Postal can coexist with your current platform, on the same domain or on a subdomain, and you move one flow at a time. Only sends that already went out keep sending events to the original platform.
Does Postal import sending history and statistics?
No. The import covers contacts (CSV) and the suppression list (through the API). History and metrics stay on the old platform, so export what you need to keep.
What about my email templates?
Postal does not convert templates from another platform. You paste the HTML into the editor or create the template through the API, with {{{NOME}}} variables. For sends by API, templates only replace variables: conditionals and loops from the old template need to be resolved in your system before sending.
Can I test without sending a real email?
Yes, if your plan includes it: test addresses ([email protected], [email protected] and others) simulate delivery, don't use quota, don't affect reputation and generate real webhooks.
Ready to bring your sending over?
Create your account and start on the Free plan. To plan the order of the migration, talk to us through the contact form.