> ## Documentation Index
> Fetch the complete documentation index at: https://jetemail.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Exim

> End-to-end setup: signup, domain verification, and standalone Exim as a JetEmail relay.

This guide covers a standalone Exim install, with no control panel managing the configuration. If you're running a control panel, use the dedicated guide for it instead — they ship plugins that handle this for you:

* [cPanel / WHM](/outbound/getting-started/cpanel)
* [DirectAdmin](/outbound/getting-started/directadmin)

For deeper Exim tuning (SRS, multi-domain DKIM, retry tweaks), see the full [Exim reference](/outbound/mail-servers/exim).

<Steps>
  <Step title="Sign up for JetEmail">
    Create an account at [jetemail.com](https://jetemail.com), then open the dashboard at [dash.jetemail.com](https://dash.jetemail.com).
  </Step>

  <Step title="Add and verify your sending domain">
    1. In the dashboard, go to **Outbound** → **Domains**
    2. Add the domain you send from (e.g. `example.com`)
    3. Publish every DNS record the dashboard shows (SPF, return-path, DKIM, DMARC) at your DNS provider
    4. Wait until the domain shows as **verified**

    For a full breakdown of the records, see [Email authentication](/outbound/email-authentication).
  </Step>

  <Step title="Create an SMTP user">
    1. Go to **Outbound** → **SMTP** in the dashboard
    2. Click **Create SMTP**
    3. Set a **Username** and strong **Password**
    4. Leave **Quota** at `0` for unlimited, or set a per-user limit

    Keep the username and password ready for the next step.
  </Step>

  <Step title="Add the JetEmail authenticator">
    Edit your Exim configuration (commonly `/etc/exim4/exim4.conf.template` on Debian/Ubuntu; on RHEL-family and similar installs, `/etc/exim.conf` or `/etc/exim/exim.conf`). Inside the `begin authenticators` section, add:

    ```plaintext theme={null}
    jetemail_login:
      driver = plaintext
      public_name = LOGIN
      client_send = : YOUR_SMTP_USERNAME : YOUR_SMTP_PASSWORD
    ```
  </Step>

  <Step title="Add the JetEmail transport">
    Inside the `begin transports` section, add:

    ```plaintext theme={null}
    jetemail_smtp:
      driver = smtp
      hosts_require_auth = *
      hosts_require_tls = *
      tls_tempfail_tryclear = true
    ```

    If you have DKIM keys on the server and want Exim to sign outbound mail, add the relevant `dkim_*` options here. See the [Exim reference](/outbound/mail-servers/exim) for the full transport.
  </Step>

  <Step title="Add the JetEmail router">
    Inside the `begin routers` section, add the router **above** any default DNS-lookup router so non-local mail is routed through JetEmail first:

    ```plaintext theme={null}
    send_via_jetemail:
      driver = manualroute
      domains = ! +local_domains
      ignore_target_hosts = 127.0.0.0/8
      transport = jetemail_smtp
      route_list = * relay.jetsmtp.net::587 randomize byname
      no_more
    ```
  </Step>

  <Step title="Validate, reload, and send a test">
    Validate the configuration, reload Exim, and send a test:

    ```bash theme={null}
    exim -bV
    systemctl reload exim4   # Debian / Ubuntu
    # or
    systemctl reload exim    # RHEL family

    echo "Test from $(hostname)" | mail -s "JetEmail relay test" you@example.com
    ```

    Confirm the message arrives, then open the JetEmail dashboard's **Logs** view to confirm it was accepted and authenticated. If something looks wrong, check the Exim main log (`/var/log/exim4/mainlog` or `/var/log/exim/main.log`) and the [SMTP block error reference](/outbound/smtp-blocks).
  </Step>
</Steps>

## Common pitfalls

* **Port 25 outbound is often blocked** by cloud providers and home ISPs. Stick to `587` unless you know `25` is open.
* **Router ordering matters.** Place `send_via_jetemail` above any default `dnslookup` router, otherwise mail goes direct and bypasses the relay.
* **Authenticator credentials are positional.** The `client_send` line uses `: username : password` — the leading colon is required and the username must not contain `@`.

## Next steps

<Columns cols={2}>
  <Card title="Exim reference" icon="book-open" href="/outbound/mail-servers/exim">
    SRS for forwarding, multi-domain DKIM, retry tuning, and troubleshooting.
  </Card>

  <Card title="Domain Lockdown" icon="lock" href="/outbound/domain-lockdown">
    Stop other JetEmail accounts from sending as your domains.
  </Card>
</Columns>
