IMAP / POP accounts
Use the IMAP + SMTP flow for any provider other than Gmail. That currently includes Outlook / Microsoft 365, Yahoo, iCloud, Fastmail, self-hosted mail, legacy corporate Exchange, and anything else that speaks IMAP. Outlook and Yahoo each have a dedicated guide with prefilled server settings (Outlook, Yahoo); this page covers generic IMAP.
What you need
| Field | Where to find it |
|---|---|
| IMAP host | Your provider’s help docs (e.g. imap.fastmail.com) |
| IMAP port | Usually 993 (TLS) or 143 (STARTTLS) |
| IMAP username | Usually your full email address |
| IMAP password | Your mailbox password or an app-specific password |
| SMTP host | e.g. smtp.fastmail.com |
| SMTP port | 465 (TLS) or 587 (STARTTLS / submission) |
| SMTP username | Usually the same as IMAP |
| SMTP password | Usually the same as IMAP |
Provider quick reference
| Provider | IMAP | SMTP |
|---|---|---|
| iCloud | imap.mail.me.com:993 | smtp.mail.me.com:587 (app-specific password required) |
| Fastmail | imap.fastmail.com:993 | smtp.fastmail.com:465 (app-specific password recommended) |
| Proton Bridge | 127.0.0.1:1143 | 127.0.0.1:1025 (only works if Bridge is running; not useful for a hosted client) |
| Zoho | imappro.zoho.com:993 | smtp.zoho.com:465 |
| Generic | see provider docs | see provider docs |
App-specific passwords
Most providers require an app-specific password when you have 2FA enabled (everyone should have 2FA enabled). Generate one from your provider’s security settings, then paste it into SuperMail’s IMAP/SMTP form.
Sync model
We use IMAP IDLE for providers that support it (most do), falling back to polling every 60 seconds otherwise. New mail appears in SuperMail within a few seconds on IDLE-compatible servers.
Flags and folders
- IMAP
\Seen,\Flagged,\Deleted,\Answeredflags round-trip in both directions. - IMAP folders map to SuperMail folders directly.
- IMAP keywords (custom flags) map to SuperMail tags.
Troubleshooting
- “IMAP login failed” - double-check the app-specific password (no trailing spaces).
- “Connection refused” - verify the host + port. Some corporate firewalls block port 993.
- “Certificate mismatch” - your server’s TLS cert doesn’t match the hostname. Don’t disable TLS; contact your provider.
See Troubleshooting for more general sync issues.