> ## 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.

# DirectAdmin Server

> End-to-end setup: signup, domain verification, and the official JetEmail DirectAdmin plugin.

This guide takes a brand-new JetEmail account and a fresh DirectAdmin server through every step required to send authenticated mail through the JetEmail relay. The DirectAdmin plugin handles all of the Exim configuration for you.

<Note>
  **Two ways to handle the many domains on a DirectAdmin server:**

  * **Free tier:** Add and verify every sending domain in the dashboard (step 2). Mail from any unverified sender will be rejected. Fine for a small server, tedious for a busy one.
  * **Pro subscription:** Enable **Allow any domain** on the SMTP user (step 3). The server can send from any domain hosted on it without preconfiguring each one in the dashboard. You still need to publish **SPF** on every sending domain — the plugin's `--add-spf` flag (step 5) does this for you.

  See [SMTP users → permission modes](/outbound/smtp-users#permission-modes) for the full comparison.
</Note>

<Warning>
  The DirectAdmin plugin supports **AlmaLinux**, **Rocky Linux**, and **CloudLinux** only. Ubuntu and Debian are not yet supported. If you're on an unsupported OS, follow the [Exim guide](/outbound/getting-started/exim) instead.
</Warning>

<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
    5. **On Pro plans**, toggle **Allow any domain** on so the user can send from every domain on the server without each one being verified in the dashboard. On the free tier, leave this off and make sure every domain you intend to send from has been added and verified in step 2.

    <Note>
      With **Allow any domain** on, you skip per-domain dashboard verification but you still need **SPF** published on every sending domain (see [SMTP allow any domain](/outbound/email-authentication#smtp-allow-any-domain)). The `--add-spf` flag in step 5 takes care of this for every domain on the server.
    </Note>

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

  <Step title="Install the JetEmail DirectAdmin plugin">
    SSH to your server as `root` and run:

    ```bash theme={null}
    curl -O https://cdn.jetemail.com/plugins/directadmin/install-directadmin.sh
    chmod 755 install-directadmin.sh
    ./install-directadmin.sh
    ```

    This installs the JetEmail repository and the `jetemail-directadmin` command.
  </Step>

  <Step title="Configure the relay">
    Run the install command with the SMTP credentials from step 3:

    ```bash theme={null}
    jetemail-directadmin \
      --smtp-user YOUR_SMTP_USERNAME \
      --smtp-pass YOUR_SMTP_PASSWORD \
      --add-spf \
      --domain-lockdown
    ```

    Recommended flags:

    * `--add-spf` — adds the JetEmail SPF include to every domain on the server
    * `--domain-lockdown` — adds the [Domain Lockdown](/outbound/domain-lockdown) `_jm` TXT record to every domain so only your account can send from them

    Prefer a GUI? After the install script runs, you can complete configuration through **Extra Features** → **JetEmail SMTP Relay** inside DirectAdmin instead.

    For the full flag reference, see the [DirectAdmin plugin docs](/outbound/plugins/directadmin).
  </Step>

  <Step title="Send a test message">
    Send a message from any account on the server to an external address and confirm it lands. Then open the JetEmail dashboard's **Logs** view to confirm the message was accepted and authenticated.

    If something looks wrong, the [SMTP block error reference](/outbound/smtp-blocks) explains the most common rejection codes.
  </Step>
</Steps>

## Next steps

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

  <Card title="DMARC" icon="shield-check" href="/outbound/dmarc">
    Tighten your authentication policy once mail is flowing.
  </Card>
</Columns>
