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

> ## Agent Instructions
> To set up a new Mintlify project for a user, follow the agent setup workflow in https://www.mintlify.com/docs/quickstart.md.
> For plans and pricing, see https://www.mintlify.com/pricing.md.

# Emails authentication

> Invite people outside your organization to read your private documentation. Readers sign in with a password or a one-time code sent to their email.

> [!NOTE]
>
> Emails authentication requires an [Enterprise plan](https://mintlify.com/pricing?ref=emails-authentication).

Emails authentication lets you give customers, partners, and other people outside your organization access to private documentation without running your own identity provider. You invite readers by email, put them in groups, and Mintlify hosts the sign-in page, password resets, and sign-in codes.

Use emails authentication when:

* The people who read your pages don't have accounts in an identity provider you control.
* You want per-person access that you can revoke, instead of a [shared password](https://www.mintlify.com/docs/deploy/authentication-setup).
* You want to show different pages to different readers with [groups](#control-access-with-groups).

If your readers already sign in to your product, use [OAuth or JWT](https://www.mintlify.com/docs/deploy/authentication-setup) instead so they keep one account.

## Turn on emails authentication

**1. Choose the emails method.**

1. In your dashboard, go to [Access](https://app.mintlify.com/settings/project/authentication).
2. Set **Visibility** to **Private**.
3. Set **Method** to **Emails**.

**2. Choose how readers sign in.**

Turn on one or both sign-in methods:

* **Email and password**: Readers set a password from their invite email and can reset it themselves.
* **Sign-in code**: Readers get a one-time 6-digit code by email each time they sign in.

**3. (Optional) Brand your reader emails.**

Under **Reader emails**, set how invites, password resets, and sign-in codes look:

* **From name**: The sender name readers see, such as `Acme Docs`. Defaults to your site name.
* **Reply-to**: Where replies go, such as `support@acme.com`.
* **Logo URL**: An `https://` URL for the logo at the top of each email.
* **Brand color**: The color of buttons in each email.

**4. Save.**

Click **Save**. After your site redeploys, visitors must sign in to read your documentation.

![The Access settings page with the Emails method selected. Email and password and Sign-in code are turned on, domain rules give acme.com readers the customers group, and reader emails use the Acme Docs sender name.](https://mintcdn.com/mintlify/EV8wSBDiHcsuX8BZ/images/emails-auth/emails-settings-light.png?fit=max\&auto=format\&n=EV8wSBDiHcsuX8BZ\&q=85\&s=da912afd22694e3b89d0b0af7a22bd4f)

## Add readers

Readers are the people who can sign in to your site. Manage them in the **Readers** section of your [Access settings](https://app.mintlify.com/settings/project/authentication).

![The Readers table listing five readers with their groups, status, last sign-in date, and access end date.](https://mintcdn.com/mintlify/EV8wSBDiHcsuX8BZ/images/emails-auth/readers-light.png?fit=max\&auto=format\&n=EV8wSBDiHcsuX8BZ\&q=85\&s=449a17918ac66c2701cdbdbb0cc6d5aa)

### Invite readers

1. Click **Invite**.
2. Enter one or more email addresses, one per line.
3. Optionally, enter groups separated by commas and an **Access until** date.
4. Click **Send invites**.

Each reader gets an email with a link to set a password or sign in. Invite links expire after seven days. Readers show as **Invited** until they sign in for the first time, then as **Active**.

![The Invite readers dialog with two acme.com email addresses, the customers and beta groups, and an empty Access until date.](https://mintcdn.com/mintlify/EV8wSBDiHcsuX8BZ/images/emails-auth/invite-readers-light.png?fit=max\&auto=format\&n=EV8wSBDiHcsuX8BZ\&q=85\&s=2959d49b3c767faed1c3ba897a16af0a)

### Import readers from a CSV

To add many readers at once, click **Import CSV** and choose a file with these columns:

```csv readers.csv theme={null}
email,groups,access_until
dana@acme.com,customers;acme,
lee@acme.com,customers,
sam@northwind.example,partners,2026-12-31
```

* `email`: Required.
* `groups`: Optional. Separate multiple groups with `;` or `|`.
* `access_until`: Optional. A date such as `2026-12-31`.

The header row is optional. Importing doesn't send invite emails. Imported readers set up their account with **Forgot password** on the sign-in page, or sign in with a code if you turned on sign-in codes.

### Limit how long a reader has access

Set **Access until** when you invite or import a reader. After that date, the reader can't sign in and their current session ends.

### Remove a reader

Open the actions menu on the reader's row and click **Remove reader**. Mintlify signs the reader out the next time their session refreshes and they can't sign in again unless you reinvite them.

## How readers sign in

When someone visits your site, they see a sign-in page with your logo. Depending on the methods you turned on, they can:

* Enter their email and password.
* Click **Email me a code** and enter the 6-digit code from the email. Codes expire after 10 minutes.
* Click **Forgot password?** to get a reset link. Reset links expire after one hour and work once.

![A reader enters jordan@acme.com on the Acme docs sign-in page, clicks Email me a code, and sees a prompt to enter the 6-digit code from the email.](https://mintcdn.com/mintlify/EV8wSBDiHcsuX8BZ/images/emails-auth/reader-sign-in-code.gif?s=b7b72921ffdd2827fdba4d05e961fdc0)

Passwords must have at least 12 characters. After 10 failed password attempts, the account locks for 15 minutes. Sessions last seven days, or until the reader's **Access until** date if that comes first.

The sign-in page never reveals whether an email has access. Someone who enters an email that isn't a reader sees the same "Check your email" message, and no email is sent.

## Control access with groups

Groups decide which pages each reader can see. They work the same way as groups for [OAuth and JWT authentication](https://www.mintlify.com/docs/deploy/authentication-setup#control-access-with-groups):

* Pages without a `groups` property are visible to every signed-in reader.
* Pages with a `groups` property are visible only to readers in at least one of those groups.
* Pages with `public: true` are visible to everyone, including visitors who aren't signed in.

```mdx Page for the partners group highlight={3} theme={null}
---
title: "Partner API"
groups: ["partners"]
---
```

Readers get groups in two ways:

* **Per reader**: Set groups when you invite or import a reader.
* **Domain rules**: Give every reader with a matching email domain the same groups. Enter one rule per line: the domain, then the groups separated by spaces.

```text Domain rules theme={null}
acme.com customers
*.acme-partners.com partners
```

For example, a rule for `acme.com` matches `dana@acme.com`. A rule for `*.acme-partners.com` matches subdomains such as `sam@eu.acme-partners.com`, but not `acme-partners.com` itself. Domain rules only add groups. People with a matching domain still need an invite to sign in.

## Send reader emails from your own domain

By default, reader emails come from `notifications@mintlify.com` with your **From name**. To send them from your own address, such as `docs@docs.acme.com`, add a sending domain.

**1. Add your domain.**

1. In your [Access settings](https://app.mintlify.com/settings/project/authentication), find **Sending domain** under the Emails settings.
2. Enter the sender name, such as `docs`, and the domain, such as `docs.acme.com`.
3. Click **Add domain**.

Use a subdomain that you don't already send email from, so these records don't affect your existing email setup.

**2. Add the DNS records.**

Copy each record into your DNS provider. Mintlify shows a DKIM `TXT` record and SPF `MX` and `TXT` records on the `send` subdomain of your domain.

**3. Verify.**

After the records propagate, click **Verify**. When the status changes to **Verified**, reader emails come from your address.

Until your domain is verified, reader emails keep coming from `notifications@mintlify.com`. Each site can have one sending domain, and each domain can belong to only one site. You can't use `mintlify.com` or its subdomains.

To change the sender name, edit it and save. To stop sending from your domain, click **Remove**.


## Related topics

- [Authentication setup](https://www.mintlify.com/docs/deploy/authentication-setup.md)
- [Visibility](https://www.mintlify.com/docs/components/visibility.md)
- [Quickstart](https://www.mintlify.com/docs/quickstart.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.