Credentials
The Email resource 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
| Resource | 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 |
2. Create an App Password
Most resources require an app password instead of your regular account password. This is a one-time password specifically for third-party apps. Outlook / Microsoft 365:- Go to https://account.microsoft.com/security
- Security -> Advanced security options
- App passwords -> Create a new app password
- Copy the generated password
- Go to https://login.yahoo.com/account/security
- Generate app password
- Select Other App, name it (e.g., “Mirage”)
- Copy the generated password
- Go to https://www.fastmail.com/settings/security/tokens
- New App Password
- Select IMAP/SMTP access
- Copy the generated password
- Go to https://appleid.apple.com/account/manage
- Sign-In and Security -> App-Specific Passwords
- Generate an app-specific password
- Copy the generated password
3. Set Environment Variables
Troubleshooting
“Authentication failed” - Make sure you’re using an app password, not your regular account password. Most resources 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, setuse_ssl=False and imap_port=143.
For Python configuration, see the Python Email Setup guide.