Universal Email Migration Toolkit
Migration Decision Tree
Use this matrix to determine the best migration path:
| Source |
Destination |
Method |
Complexity |
Notes |
| Yahoo Mail |
Gmail |
IMAP → Gmail Import |
Easy |
Use app passwords |
| Yahoo Mail |
Outlook |
IMAP → Outlook Desktop |
Medium |
Manual folder setup |
| Zoho Mail |
Gmail |
IMAP → Gmail Import |
Easy |
Supports IMAP natively |
| Zoho Mail |
Outlook |
Microsoft Migration |
Medium |
Use Zoho IMAP settings |
| ProtonMail |
Gmail |
Export → Import |
Hard |
Limited export options |
| ProtonMail |
Outlook |
Manual forwarding |
Hard |
No bulk export |
| iCloud Mail |
Gmail |
IMAP → Gmail Import |
Easy |
Requires app password |
| iCloud Mail |
Outlook |
IMAP → Outlook |
Medium |
Limited folder support |
| Any IMAP |
Any IMAP |
IMAP bridging |
Medium |
Universal solution |
| Exchange On-prem |
Cloud |
PST export/import |
Hard |
Requires Exchange admin |
Universal IMAP Migration Process
For most provider-to-provider migrations:
Step 1: Source Preparation
- Enable IMAP on source account (if not enabled by default)
- Create app password (Gmail, Yahoo, iCloud require this)
- Test connectivity using the IMAP test script
- Estimate data size using the mailbox size script
- Document folder structure for mapping reference
Step 2: Destination Setup
- Create target account with sufficient storage
- Enable IMAP access (for intermediary tools)
- Configure mail client (Outlook, Thunderbird, or web import)
- Set up folder structure matching source (if needed)
- Test inbound mail to verify account is working
Step 3: Migration Execution
Choose based on destination platform:
To Gmail (any source with IMAP)
- Gmail → Settings → Accounts → Import mail and contacts
- Enter source IMAP details from provider matrix
- Choose import options (last 30 days vs. all mail)
- Start import — Gmail handles the rest automatically
To Outlook/Microsoft 365
- Outlook Desktop → Add Account → IMAP source
- Set up both accounts in same Outlook profile
- Drag and drop folders from source to destination
- Alternative: Use Microsoft's import tools for bulk
IMAP-to-IMAP (Universal)
- Use desktop client (Outlook, Thunderbird, Apple Mail)
- Configure both accounts as IMAP
- Copy folders between accounts via client
- Monitor for errors and retry failed items
Step 4: Validation
- Compare email counts between source and destination
- Test key functionality (send, receive, search)
- Verify contacts and calendar if migrated
- Check folder structure matches expectations
- Validate largest messages and attachments
Email Backup and Export
Before any migration, create backups:
Source-Specific Export Methods
Gmail / Google Workspace
- Method: Google Takeout (takeout.google.com)
- Format: MBOX (Thunderbird compatible)
- Includes: Email, contacts, calendar
- Time: 2-48 hours depending on mailbox size
Outlook / Exchange
- Method: Export to PST file
- Format: PST (Outlook native)
- Process: File → Open & Export → Export to File
- Limitation: Desktop Outlook required
Yahoo Mail
- Method: IMAP download via email client
- Format: Various (depends on client)
- Process: Configure IMAP, sync all folders locally
- Note: No bulk export tool from Yahoo
Zoho Mail
- Method: IMAP export or Zoho's backup tool
- Format: MBOX or EML
- Process: Contact Zoho support for large mailboxes
- Alternative: IMAP sync to local client
iCloud Mail
- Method: IMAP download
- Format: Various (client dependent)
- Process: Configure IMAP with app password
- Limitation: No native export tool
ProtonMail
- Method: Individual email export only
- Format: EML files
- Process: Select emails individually, export
- Note: No bulk export due to encryption
See references/backup-export.md for detailed step-by-step procedures.
Common Migration Challenges
| Challenge |
Solution |
Prevention |
| Authentication failures |
Use app passwords, check 2FA settings |
Test connectivity first |
| Size limitations |
Split into batches, exclude large attachments |
Check provider limits |
| Folder mapping issues |
Document structure, plan manual creation |
Map folders before migration |
| Missing emails |
Check spam/junk, verify date ranges |
Do incremental migration |
| Slow transfer speeds |
Use multiple connections, off-peak hours |
Plan adequate time |
| Character encoding |
Ensure UTF-8 support in tools |
Test with non-ASCII subjects |
Provider-Specific Considerations
Yahoo Mail
- IMAP Limitations: Free accounts have folder limits
- Authentication: Must use app passwords with 2FA
- Best Practice: Migrate during off-peak hours (night/weekend)
Zoho Mail
- IMAP Support: Full IMAP access on all plans
- Bulk Migration: Zoho offers migration services for enterprise
- API Access: Available for custom migration tools
ProtonMail
- Major Limitation: No IMAP access due to encryption
- Workaround: Export to Thunderbird, then migrate from Thunderbird
- Enterprise: ProtonMail Bridge available for paid plans
iCloud Mail
- Storage Limits: 5GB free, consider upgrading temporarily
- IMAP Quirks: Some folders may not sync properly
- Performance: Slow IMAP response, plan extra time
On-Premises Exchange
- Admin Access: Required for PST export/import
- Network: Consider bandwidth limitations
- Legacy Versions: Older Exchange may need PST conversion
Troubleshooting Workflow
When migration fails or stalls:
- Check authentication — Re-enter passwords, regenerate app passwords
- Verify IMAP settings — Double-check server, port, SSL settings
- Test connectivity — Run
scripts/imap-test.py with exact settings
- Check quotas — Verify destination has enough storage space
- Review logs — Look for specific error messages in client logs
- Retry smaller batches — Split large mailboxes into smaller chunks
- Contact support — Provider-specific issues may need support tickets
See references/troubleshooting.md for comprehensive error resolution guide.
Migration Best Practices
Planning Phase
- Inventory thoroughly — Document all email accounts, sizes, special requirements
- Test with pilot users — Never migrate entire organization without testing
- Communicate clearly — Set expectations with users about timeline and downtime
- Plan rollback — Always have a way to revert if migration fails
Execution Phase
- Monitor actively — Don't start migration and walk away
- Validate incrementally — Check each user/batch before proceeding
- Keep logs — Document what worked, what failed, and why
- Stay flexible — Be prepared to switch methods if primary approach fails
Post-Migration
- Validate data integrity — Compare counts, spot-check important emails
- Train users — New interface, different features, updated mobile setup
- Monitor performance — Watch for issues in first 48-72 hours
- Plan cleanup — When to disable old accounts, how long to retain access
1---2name: email-migration-toolkit3description: Universal email migration toolkit for any provider to any provider. Use when migrating between Yahoo, Zoho, ProtonMail, iCloud, on-premises Exchange, or any IMAP-capable email service. Covers decision trees, backup/export procedures, IMAP connectivity testing, troubleshooting, and provider-specific configurations. Essential for IT professionals handling diverse email migrations beyond Google/Microsoft ecosystems.4---5
6# Universal Email Migration Toolkit
7
8## Migration Decision Tree
9
10Use this matrix to determine the best migration path:
11
12| Source | Destination | Method | Complexity | Notes |
13|--------|-------------|--------|-----------|-------|
14| Yahoo Mail | Gmail | IMAP → Gmail Import | Easy | Use app passwords |
15| Yahoo Mail | Outlook | IMAP → Outlook Desktop | Medium | Manual folder setup |
16| Zoho Mail | Gmail | IMAP → Gmail Import | Easy | Supports IMAP natively |
17| Zoho Mail | Outlook | Microsoft Migration | Medium | Use Zoho IMAP settings |
18| ProtonMail | Gmail | Export → Import | Hard | Limited export options |
19| ProtonMail | Outlook | Manual forwarding | Hard | No bulk export |
20| iCloud Mail | Gmail | IMAP → Gmail Import | Easy | Requires app password |
21| iCloud Mail | Outlook | IMAP → Outlook | Medium | Limited folder support |
22| Any IMAP | Any IMAP | IMAP bridging | Medium | Universal solution |
23| Exchange On-prem | Cloud | PST export/import | Hard | Requires Exchange admin |
24
25## Universal IMAP Migration Process
26
27For most provider-to-provider migrations:
28
29### Step 1: Source Preparation
301. **Enable IMAP** on source account (if not enabled by default)
312. **Create app password** (Gmail, Yahoo, iCloud require this)
323. **Test connectivity** using the IMAP test script
334. **Estimate data size** using the mailbox size script
345. **Document folder structure** for mapping reference
35
36### Step 2: Destination Setup
371. **Create target account** with sufficient storage
382. **Enable IMAP access** (for intermediary tools)
393. **Configure mail client** (Outlook, Thunderbird, or web import)
404. **Set up folder structure** matching source (if needed)
415. **Test inbound mail** to verify account is working
42
43### Step 3: Migration Execution
44Choose based on destination platform:
45
46#### To Gmail (any source with IMAP)
471. Gmail → Settings → Accounts → Import mail and contacts
482. Enter source IMAP details from provider matrix
493. Choose import options (last 30 days vs. all mail)
504. Start import — Gmail handles the rest automatically
51
52#### To Outlook/Microsoft 365
531. Outlook Desktop → Add Account → IMAP source
542. Set up both accounts in same Outlook profile
553. Drag and drop folders from source to destination
564. Alternative: Use Microsoft's import tools for bulk
57
58#### IMAP-to-IMAP (Universal)
591. Use desktop client (Outlook, Thunderbird, Apple Mail)
602. Configure both accounts as IMAP
613. Copy folders between accounts via client
624. Monitor for errors and retry failed items
63
64### Step 4: Validation
651. **Compare email counts** between source and destination
662. **Test key functionality** (send, receive, search)
673. **Verify contacts and calendar** if migrated
684. **Check folder structure** matches expectations
695. **Validate largest messages** and attachments
70
71## Email Backup and Export
72
73Before any migration, create backups:
74
75### Source-Specific Export Methods
76
77#### Gmail / Google Workspace
78- **Method**: Google Takeout (takeout.google.com)
79- **Format**: MBOX (Thunderbird compatible)
80- **Includes**: Email, contacts, calendar
81- **Time**: 2-48 hours depending on mailbox size
82
83#### Outlook / Exchange
84- **Method**: Export to PST file
85- **Format**: PST (Outlook native)
86- **Process**: File → Open & Export → Export to File
87- **Limitation**: Desktop Outlook required
88
89#### Yahoo Mail
90- **Method**: IMAP download via email client
91- **Format**: Various (depends on client)
92- **Process**: Configure IMAP, sync all folders locally
93- **Note**: No bulk export tool from Yahoo
94
95#### Zoho Mail
96- **Method**: IMAP export or Zoho's backup tool
97- **Format**: MBOX or EML
98- **Process**: Contact Zoho support for large mailboxes
99- **Alternative**: IMAP sync to local client
100
101#### iCloud Mail
102- **Method**: IMAP download
103- **Format**: Various (client dependent)
104- **Process**: Configure IMAP with app password
105- **Limitation**: No native export tool
106
107#### ProtonMail
108- **Method**: Individual email export only
109- **Format**: EML files
110- **Process**: Select emails individually, export
111- **Note**: No bulk export due to encryption
112
113See `references/backup-export.md` for detailed step-by-step procedures.
114
115## Common Migration Challenges
116
117| Challenge | Solution | Prevention |
118|-----------|----------|------------|
119| Authentication failures | Use app passwords, check 2FA settings | Test connectivity first |
120| Size limitations | Split into batches, exclude large attachments | Check provider limits |
121| Folder mapping issues | Document structure, plan manual creation | Map folders before migration |
122| Missing emails | Check spam/junk, verify date ranges | Do incremental migration |
123| Slow transfer speeds | Use multiple connections, off-peak hours | Plan adequate time |
124| Character encoding | Ensure UTF-8 support in tools | Test with non-ASCII subjects |
125
126## Provider-Specific Considerations
127
128### Yahoo Mail
129- **IMAP Limitations**: Free accounts have folder limits
130- **Authentication**: Must use app passwords with 2FA
131- **Best Practice**: Migrate during off-peak hours (night/weekend)
132
133### Zoho Mail
134- **IMAP Support**: Full IMAP access on all plans
135- **Bulk Migration**: Zoho offers migration services for enterprise
136- **API Access**: Available for custom migration tools
137
138### ProtonMail
139- **Major Limitation**: No IMAP access due to encryption
140- **Workaround**: Export to Thunderbird, then migrate from Thunderbird
141- **Enterprise**: ProtonMail Bridge available for paid plans
142
143### iCloud Mail
144- **Storage Limits**: 5GB free, consider upgrading temporarily
145- **IMAP Quirks**: Some folders may not sync properly
146- **Performance**: Slow IMAP response, plan extra time
147
148### On-Premises Exchange
149- **Admin Access**: Required for PST export/import
150- **Network**: Consider bandwidth limitations
151- **Legacy Versions**: Older Exchange may need PST conversion
152
153## Troubleshooting Workflow
154
155When migration fails or stalls:
156
1571. **Check authentication** — Re-enter passwords, regenerate app passwords
1582. **Verify IMAP settings** — Double-check server, port, SSL settings
1593. **Test connectivity** — Run `scripts/imap-test.py` with exact settings
1604. **Check quotas** — Verify destination has enough storage space
1615. **Review logs** — Look for specific error messages in client logs
1626. **Retry smaller batches** — Split large mailboxes into smaller chunks
1637. **Contact support** — Provider-specific issues may need support tickets
164
165See `references/troubleshooting.md` for comprehensive error resolution guide.
166
167## Migration Best Practices
168
169### Planning Phase
170- **Inventory thoroughly** — Document all email accounts, sizes, special requirements
171- **Test with pilot users** — Never migrate entire organization without testing
172- **Communicate clearly** — Set expectations with users about timeline and downtime
173- **Plan rollback** — Always have a way to revert if migration fails
174
175### Execution Phase
176- **Monitor actively** — Don't start migration and walk away
177- **Validate incrementally** — Check each user/batch before proceeding
178- **Keep logs** — Document what worked, what failed, and why
179- **Stay flexible** — Be prepared to switch methods if primary approach fails
180
181### Post-Migration
182- **Validate data integrity** — Compare counts, spot-check important emails
183- **Train users** — New interface, different features, updated mobile setup
184- **Monitor performance** — Watch for issues in first 48-72 hours
185- **Plan cleanup** — When to disable old accounts, how long to retain access