# Zoho Mail Free -- Complete Implementation Guide

## META
- relevance: OPERATIONS -- reusable guide for any domain/business
- scope: Zoho Mail Forever Free plan with custom domain
- created: 2026-02-13
- reusable: YES -- this guide works for any domain, not just LLMHosts.com

## PLAN DETAILS

### Zoho Mail Forever Free
- **Cost**: $0/month, forever
- **Mailboxes**: Up to 5 users
- **Storage**: 5 GB per user
- **Cloud storage**: 1 GB (Zoho WorkDrive Lite)
- **Custom domain**: 1 domain (e.g., @yourdomain.com)
- **IMAP/POP3**: Yes (must be enabled in settings)
- **SMTP**: Yes (for sending from email clients)
- **Ad-free**: Yes
- **Encryption**: At rest and in transit
- **2FA**: Supported
- **Mobile apps**: Zoho Mail app (iOS, Android)
- **Web access**: https://mail.zoho.com

### Upgrade Path (When Needed)
- **Zoho Mail Lite**: $1/user/month -- 10GB, multiple domains, ActiveSync, offline
- **Zoho Mail Premium**: $4/user/month -- 50GB, email backup, S/MIME, eDiscovery

## KEY URLS

| Resource | URL |
|----------|-----|
| Zoho Mail Signup | https://www.zoho.com/mail/signup.html |
| Zoho Mail Pricing (Free Plan) | https://www.zoho.com/mail/zohomail-pricing.html |
| Zoho Mail Admin Console | https://mailadmin.zoho.com |
| Zoho Mail Webmail | https://mail.zoho.com |
| Zoho Mail IMAP/SMTP Help | https://www.zoho.com/mail/help/imap-access.html |
| Zoho Mail GoDaddy DNS Guide | https://www.zoho.com/mail/help/adminconsole/godaddy.html |
| Zoho Mail SPF Configuration | https://www.zoho.com/mail/help/adminconsole/spf-configuration.html |
| Zoho Mail DKIM Configuration | https://www.zoho.com/mail/help/adminconsole/dkim-configuration.html |
| Zoho Toolkit (DNS Lookup) | https://www.zoho.com/toolkit/ |
| Zoho MX Lookup | https://www.zoho.com/toolkit/mx-lookup.html |
| GoDaddy DNS Management | https://dcc.godaddy.com/domains |

## IMAP / SMTP SERVER SETTINGS

### IMAP (Incoming Mail -- For Any Email Client)
```
Server:   imap.zoho.com
Port:     993
Security: SSL/TLS
Username: your-full-email@yourdomain.com
Password: your Zoho password (or app-specific password if 2FA enabled)
```

### SMTP (Outgoing Mail -- For Any Email Client)
```
Server:   smtp.zoho.com
Port:     465 (SSL) or 587 (TLS/STARTTLS)
Security: SSL or STARTTLS
Auth:     Required
Username: your-full-email@yourdomain.com
Password: your Zoho password (or app-specific password if 2FA enabled)
```

### Client Configuration Examples

**Apple Mail (macOS/iOS)**
- Account type: IMAP
- Incoming: imap.zoho.com:993 (SSL)
- Outgoing: smtp.zoho.com:465 (SSL)

**Thunderbird**
- Incoming: imap.zoho.com, Port 993, SSL/TLS
- Outgoing: smtp.zoho.com, Port 465, SSL/TLS

**Outlook (Desktop)**
- Account type: IMAP
- Incoming: imap.zoho.com, Port 993, Encryption: SSL/TLS
- Outgoing: smtp.zoho.com, Port 465, Encryption: SSL/TLS

**Android (Zoho Mail App or Gmail App)**
- Download Zoho Mail app from Play Store (recommended)
- Or: Gmail app → Add account → Other → IMAP settings above

## DNS RECORDS REQUIRED

### MX Records (Mail Routing)
These tell the internet "send mail for @yourdomain.com to Zoho's servers."

| Type | Host | Value | Priority | TTL |
|------|------|-------|----------|-----|
| MX | @ | mx.zoho.com | 10 | 600 |
| MX | @ | mx2.zoho.com | 20 | 600 |
| MX | @ | mx3.zoho.com | 50 | 600 |

**CRITICAL**: Delete ALL existing MX records before adding these. Old MX records will cause mail delivery failures.

### SPF Record (Sender Policy Framework -- Prevents Spoofing)
Tells receiving servers "only Zoho is authorized to send email for this domain."

| Type | Host | Value | TTL |
|------|------|-------|-----|
| TXT | @ | `v=spf1 include:zohomail.com -all` | 600 |

**Note**: Only ONE SPF record per domain. If you need to add other senders later (e.g., Resend for transactional email), combine them: `v=spf1 include:zohomail.com include:resend.com -all`

### DKIM Record (DomainKeys Identified Mail -- Email Signing)
Cryptographically signs emails to prove they're authentic. The exact value is generated in Zoho Admin Console during setup.

| Type | Host | Value | TTL |
|------|------|-------|-----|
| TXT | [selector]._domainkey | `v=DKIM1; k=rsa; p=[generated-public-key]` | 600 |

**Note**: The selector name and public key are unique per domain. Generated in: Zoho Admin Console → Domains → [domain] → Email Configuration → DKIM → Add.

### DMARC Record (Domain-based Message Authentication)
Tells receiving servers what to do with emails that fail SPF/DKIM checks.

| Type | Host | Value | TTL |
|------|------|-------|-----|
| TXT | _dmarc | `v=DMARC1; p=quarantine; rua=mailto:brendon@llmhosts.com` | 600 |

**Phase 1** (initial): Use `p=none` (monitor only, don't reject anything while testing)
**Phase 2** (after verified working): Change to `p=quarantine` (suspicious emails go to spam)
**Phase 3** (production): Change to `p=reject` (reject spoofed emails entirely)

## COMPLETE SETUP PROCEDURE (GENERIC -- ANY DOMAIN)

### Phase A: Zoho Account & Domain Registration

1. Go to https://www.zoho.com/mail/zohomail-pricing.html
2. Under "Forever Free Plan" → click "Sign Up"
3. Fill in: Name, existing email (for recovery), password
4. After account creation → "Add your existing domain"
5. Enter your domain name (e.g., llmhosts.com) → click "Add"

### Phase B: Domain Verification

**For GoDaddy domains (one-click method -- RECOMMENDED):**
1. In Zoho Admin Console → Domains → your domain → click "Login to my DNS"
2. GoDaddy login page opens → log in with GoDaddy credentials
3. Click "Connect" → domain is verified automatically
4. Status changes to "Verified"

**For other registrars (manual TXT method):**
1. Copy the TXT verification code from Zoho Admin Console
2. Log into your DNS provider
3. Add TXT record: Host=@, Value=[zoho verification code]
4. Return to Zoho → click "Verify by TXT"
5. Wait up to 1 hour for DNS propagation

### Phase C: MX Record Configuration

**For GoDaddy (one-click method):**
1. In Zoho Admin Console → Domains → your domain → Email Configuration → MX
2. Click "Login to my DNS" → Connect → MX records added automatically

**For other registrars (manual):**
1. Log into DNS management
2. DELETE all existing MX records
3. Add 3 MX records (see DNS Records table above)
4. Return to Zoho → Verify

### Phase D: SPF Configuration

**For GoDaddy (one-click method):**
1. In Zoho Admin Console → Domains → Email Configuration → SPF
2. Click "Login to my DNS" → Connect

**Manual:**
1. Add TXT record: Host=@, Value=`v=spf1 include:zohomail.com -all`

### Phase E: DKIM Configuration

1. In Zoho Admin Console → Domains → Email Configuration → DKIM
2. Click "+Add" → choose 2048-bit key → enter selector name (e.g., "zoho") → Add
3. Copy the Host and Value shown

**For GoDaddy (one-click method):**
4. Click "Login to my DNS" → Connect

**Manual:**
4. Add TXT record with the Host and Value from step 3

### Phase F: DMARC Configuration (Manual for All Providers)

1. Log into DNS management
2. Add TXT record: Host=_dmarc, Value=`v=DMARC1; p=none; rua=mailto:your-admin@yourdomain.com`
3. Monitor for 2 weeks, then change to p=quarantine

### Phase G: Create Email Accounts

1. In Zoho Admin Console → Users → Add User
2. Create each needed email account
3. Set passwords for each account
4. Each user can log in at https://mail.zoho.com

### Phase H: Enable IMAP (Per Account)

1. Log into https://mail.zoho.com with each account
2. Go to Settings (gear icon) → Mail Accounts → select your email
3. Check "IMAP Access" checkbox → Save
4. Now configure any email client using IMAP settings above

### Phase I: Verify Everything

1. Go to https://www.zoho.com/toolkit/mx-lookup.html → enter your domain → verify MX records
2. Send a test email FROM your new account to a Gmail address
3. In Gmail, click "Show original" → verify SPF=PASS, DKIM=PASS, DMARC=PASS
4. Send a test email TO your new account from Gmail → verify delivery
5. Test IMAP client access (if configured)

## LIMITATIONS & WORKAROUNDS

| Limitation | Impact | Workaround |
|-----------|--------|-----------|
| 1 domain per free account | Can't add secondary domains | Create separate Zoho accounts per domain (free!) |
| 5 mailboxes max | Can't have >5 team members | Use aliases for overflow, upgrade to Lite when needed |
| 5GB storage per user | May fill up after years | Archive old emails, or upgrade to Lite ($1/mo) |
| Send limit: 50-500/hr external | May throttle bulk sends | Use transactional email service (Resend) for system emails |
| No ActiveSync | Outlook push notifications don't work | Use IMAP (works fine, just polls) or Zoho Mail app |

## SECURITY BEST PRACTICES

1. **Enable 2FA** on all accounts immediately after creation
2. **Use app-specific passwords** for IMAP clients (more secure than main password)
3. **Monitor login activity**: Zoho Admin Console → Security → Activity Logs
4. **Set session timeout**: Settings → Security → Session management
5. **Never share credentials** in plain text -- use a password manager
