How to Set Up Postal Email Forwarding in 10 Minutes

If you run a self-hosted Postal mail server, postal email forwarding is the cleanest way to route mail sent to one address onward to another mailbox, an external provider, or a script — all without running a second mail stack. Unlike traditional Postfix alias tables, Postal handles forwarding through its routing engine: routes match incoming messages and endpoints decide where those messages go. This guide walks you through the whole setup in about ten minutes.

How Postal Email Forwarding Works

Before touching the UI, it helps to understand Postal's model. Everything in Postal is organized around servers (logical mail servers inside your Postal installation), domains (attached to a server, with DNS proving ownership), routes (rules that match incoming mail by address or domain), and endpoints (the destination a matched route sends mail to).

Postal does not have a classic “alias” table like Postfix virtual_alias_maps. Instead, postal email forwarding is implemented by creating a route that matches the source address and attaching an endpoint that delivers the message to the final destination. There are two endpoint types:

  • SMTP endpoints — forward the message to another SMTP server (hostname and port). This is what you use for plain address-to-address forwarding.
  • HTTP endpoints — POST the message as JSON to your application. Useful when you want to process, filter, or re-send mail programmatically.

For standard forwarding like support@yourdomain.com → you@gmail.com, an SMTP endpoint plus a matching route is all you need.

What You Need Before You Start

  • A working Postal installation with at least one mail server configured.
  • A domain already added to that server in Postal, with MX records pointing at your Postal host and valid SPF/DKIM records published. Postal shows you the exact DNS records to add on the domain page.
  • A VPS with port 25 open for inbound mail. Most cheap VPS providers block port 25 by default, so host Postal on a provider that allows it — a Contabo VPS is a budget-friendly option that works well for Postal.
  • A relay destination: either your own outbound mail server or the destination provider's inbound host.

Step 1 — Confirm Your Domain in Postal

Log in to the Postal web UI and open your mail server. Go to Domains and make sure your domain is listed and shows as verified (green checks for DNS, SPF, and DKIM). If the domain is not verified, fix your DNS records first — forwarding from an unverified domain will deliver mail that fails authentication at the destination.

Step 2 — Create an SMTP Endpoint

Endpoints live under your mail server's settings:

  1. Open your mail server in the Postal UI and click Endpoints, then Add Endpoint.
  2. Choose SMTP as the endpoint type and give it a descriptive name, e.g. forward-to-gmail.
  3. Enter the hostname of the destination relay and the port (usually 25 for server-to-server delivery). If you forward to a Gmail address, this would be a Gmail MX host such as gmail-smtp-in.l.google.com; if you relay through your own infrastructure, use that host instead.
  4. If your relay requires authentication, add the credentials. Most MX-to-MX delivery on port 25 needs none.
  5. Save the endpoint. Postal will mark it as active once saved.

Important: Postal's SMTP endpoint delivers to the single host you configure — it does not perform MX lookups per destination address. Keep each endpoint dedicated to one relay target so routing stays predictable.

Step 3 — Create the Forwarding Route

Now wire the source address to that endpoint:

  1. In your mail server, click Routes, then Add Route.
  2. Name it something clear, e.g. forward-support.
  3. Set the match to the source address you want to forward, e.g. support@yourdomain.com. You can also match an entire domain with @yourdomain.com to forward every address on it — use this carefully.
  4. Under Endpoint, select the SMTP endpoint you created in Step 2.
  5. Save the route. It takes effect immediately; there is no service restart needed.

You can repeat this for as many addresses as you like. Each route is independent, so info@, billing@, and abuse@ can each forward to different destinations.

Step 4 — Test the Forward

To confirm your postal email forwarding works end to end:

  1. Send a test message to the source address from an external mailbox (not from the same domain) using swaks or your regular email client:
    swaks --to support@yourdomain.com --from you@external-mail.com \
      --server your-postal-host.com --h-Subject "Forward test"
  2. Open Messages in the Postal UI for your mail server. You should see the message arrive, match your route, and be passed to the SMTP endpoint.
  3. Check the destination mailbox and confirm delivery, then inspect headers at the destination to verify authentication results.

If the message sits in Postal's queue or bounces, the endpoint hostname, port, or firewall rules are the first things to check — make sure outbound port 25 from your Postal host is reachable.

Common Pitfalls with Postal Email Forwarding

Forwarding loops

The classic trap: a route on @yourdomain.com forwards to an address that itself routes back into Postal. Postal will eventually stop the loop, but not before generating a burst of duplicate messages and queue churn. Always trace the full path of every forwarded address and avoid catch-all domain routes that forward to addresses on the same domain.

SPF, DKIM, and DMARC breakage

Forwarding preserves the original envelope sender and message headers. The destination server will run SPF against your forwarding server's IP, not the original sender's — and your IP is not in the original sender's SPF record, so SPF fails. DKIM usually survives because the signature covers the body, unless the relay modifies the message. The result: DMARC can fail at the destination and forwarded mail may land in spam or be rejected. This is inherent to forwarding, not a Postal bug. Mitigations include keeping forwards inside your own infrastructure where possible, or re-sending via an HTTP endpoint where your app sets its own envelope sender.

Postal has no built-in SRS

The standard fix for the SPF problem is Sender Rewriting Scheme (SRS), which rewrites the envelope sender to your own domain so SPF passes at the destination. Postal does not implement SRS natively. If you forward mail to external providers at any volume, place an SRS-capable relay (such as Postfix with postsrsd) between Postal's endpoint and the destination, or handle rewriting in your own HTTP-endpoint application.

FAQ

Can I forward to multiple addresses from one route?

A single Postal route points to exactly one endpoint. To fan mail out to several destinations, create one route per destination address (routes can share the same match) or use an HTTP endpoint and distribute the message in your application.

Does postal email forwarding keep the original sender?

Yes. The message content and headers are preserved; only the routing changes. That is why SPF breaks at the destination while DKIM typically survives — plan for this with SRS or an internal-only forwarding design.

Can I forward mail and also keep a copy in Postal?

Postal does not duplicate a message across two routes automatically. The practical approach is to forward via a route and archive with an HTTP endpoint that stores a copy, or have the destination server keep the archive.

Key Takeaways

  • Postal email forwarding is built from routes (which match incoming addresses) plus endpoints (which deliver them onward) — there is no separate alias table.
  • Use an SMTP endpoint for address-to-address forwarding; use an HTTP endpoint when you need to process or re-send mail programmatically.
  • Verify your domain's DNS, SPF, and DKIM in Postal before creating forwarding routes.
  • Expect SPF to fail on forwarded mail at external destinations — mitigate with an SRS-capable relay or internal-only forwarding.
  • Avoid forwarding loops by tracing every route's full path and being cautious with catch-all domain matches.
  • Test every forward with swaks and confirm delivery in both the Postal message log and the destination mailbox.

Related Guides

Leave a Comment Cancel reply

Exit mobile version