Pigeon Atlas
← Integrations

Send email from n8n

One HTTP Request node, a header credential you can reuse, and mail that goes out under your own domain instead of an SMTP account you borrowed.

Updated September 09, 2026

n8n has a Send Email node that speaks SMTP, and it works — but it means putting SMTP credentials in a credential store, and it gives you nothing back except "the server accepted it". No message id, no delivery event, no way to answer "did that reach them?" three days later.

The HTTP Request node takes about the same effort and gives you both.

Make a credential first

Create a Header Auth credential rather than pasting the key into the node:

Doing it this way keeps the key out of the workflow JSON, which matters the moment you export a workflow or commit it to a repository.

The node

Add an HTTP Request node:

Then, using Specify Body: Using Fields Below:

Name Value
from Your Company <hello@mail.yourcompany.com>
to {{ $json.email }}
subject {{ $json.subject }}
html {{ $json.body }}

Two things worth knowing

Turn on Always Output Data if the next node needs to run regardless. Otherwise a rejected send stops the branch silently, and in a scheduled workflow nobody notices for a week.

A 4xx from us is a real answer, not a network failure. 422 means the payload was wrong — an unverified domain, or a to that is not an address. 402 means the account is out of quota. Retrying either one changes nothing, so leave Retry On Fail off and read the body instead: it says which field and why.

Delivery events back into n8n

Add a Webhook node, take its production URL, and register it under Webhooks in Pigeon Atlas. Deliveries, bounces and complaints then arrive as workflow triggers, signed so you can tell they came from us. That is the piece SMTP cannot give you at all — a bounce over SMTP goes to a mailbox, not to your automation.

Before it works

Add your sending domain in Pigeon Atlas and publish the three DNS records it hands you. Until all three resolve the domain cannot send, which is what stops anyone else sending as you.

The API reference has the full payload, and the webhook guide covers verifying the signature.

Ten messages free, no card

Enough to verify a domain and watch one arrive from it.

Start sending

Other platforms