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

# Email

> Set up IMAP/SMTP credentials for the Email VFS.

## Credentials

The Email VFS connects to any email account via IMAP (reading)
and SMTP (sending). You need the server hostnames and a password or
app password.

### 1. Find Your IMAP/SMTP Settings

| VFS | IMAP Host | IMAP Port | SMTP Host | SMTP Port |
| - | - | - | - | - |
| Outlook/365 | `outlook.office365.com` | 993 | `smtp.office365.com` | 587 |
| Yahoo | `imap.mail.yahoo.com` | 993 | `smtp.mail.yahoo.com` | 587 |
| Fastmail | `imap.fastmail.com` | 993 | `smtp.fastmail.com` | 587 |
| iCloud | `imap.mail.me.com` | 993 | `smtp.mail.me.com` | 587 |
| ProtonMail | `127.0.0.1` | 1143 | `127.0.0.1` | 1025 |
| Self-hosted | Your server hostname | 993 | Your server hostname | 587 |

ProtonMail requires [ProtonMail Bridge](https://proton.me/mail/bridge)
running locally.

### 2. Create an App Password

Most providers require an **app password** instead of your regular
account password. This is a one-time password specifically for
third-party apps.

**Outlook / Microsoft 365:**

1. Go to [https://account.microsoft.com/security](https://account.microsoft.com/security)
2. **Security** -> **Advanced security options**
3. **App passwords** -> **Create a new app password**
4. Copy the generated password

**Yahoo:**

1. Go to [https://login.yahoo.com/account/security](https://login.yahoo.com/account/security)
2. **Generate app password**
3. Select **Other App**, name it (e.g., "Mirage")
4. Copy the generated password

**Fastmail:**

1. Go to [https://www.fastmail.com/settings/security/tokens](https://www.fastmail.com/settings/security/tokens)
2. **New App Password**
3. Select **IMAP/SMTP** access
4. Copy the generated password

**iCloud:**

1. Go to [https://appleid.apple.com/account/manage](https://appleid.apple.com/account/manage)
2. **Sign-In and Security** -> **App-Specific Passwords**
3. **Generate an app-specific password**
4. Copy the generated password

**Self-hosted / Other:**

Use your regular email password, or whatever your mail server
requires.

### 3. Set Environment Variables

```bash theme={null}
# .env.development
IMAP_HOST=imap.fastmail.com
SMTP_HOST=smtp.fastmail.com
EMAIL_USERNAME=you@fastmail.com
EMAIL_PASSWORD=your-app-password
```

## Troubleshooting

**"Authentication failed"** - Make sure you're using an app password,
not your regular account password. Most providers block regular
passwords for IMAP/SMTP access.

**"Connection refused"** - Check the hostname and port. Some networks
block port 993/587. For ProtonMail, make sure Bridge is running.

**"SSL handshake failed"** - If your server uses STARTTLS on port 143
instead of SSL on port 993, set `use_ssl=False` and `imap_port=143`.

For Python configuration, see the [Python Email VFS](/python/vfs/email) page.


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