Zoho Mail and the Date Problem
Zoho Mail is a popular email platform for small and medium businesses, a cost-effective alternative to Google Workspace and Microsoft 365. Many organizations migrate to Zoho to reduce costs. Others migrate away from Zoho when scaling to a larger platform.
In both directions, the migration process can corrupt email dates. Every message in the mailbox ends up stamped with the migration date instead of the original sent or received date. It's frustrating, and it happens more often than most admins expect.
Common Zoho Migration Scenarios
Migrating to Zoho Mail
Organizations switching to Zoho Mail typically migrate from Google Workspace, Microsoft 365, or a generic IMAP host (cPanel, Plesk, Dovecot). Zoho provides its own migration wizard that supports IMAP import from most email providers. The wizard connects to the source server, downloads emails via IMAP, and inserts them into Zoho Mail accounts. During this insertion, Zoho's mail servers add a "Received" header with the migration timestamp to every message. This new header becomes the topmost entry in the header chain, causing email clients to display the migration date.
Migrating From Zoho Mail
When organizations outgrow Zoho or need features exclusive to Google Workspace or Microsoft 365, they migrate away. Tools like BitTitan MigrationWiz, imapsync, or even manual IMAP copy via Thunderbird are commonly used. Each of these methods downloads emails from Zoho and re-inserts them on the destination server via IMAP APPEND, triggering the same Received header issue. For tool-specific details, see guides for BitTitan, imapsync, or manual IMAP copy.
Migrating Between Zoho Accounts
Even migrating between Zoho Mail accounts (during a company restructuring or domain change, for example) can cause date issues. Any time emails are downloaded and re-inserted via IMAP, the destination server adds its Received header. It doesn't matter if the source and destination are both Zoho accounts.
How Zoho Mail Handles IMAP Dates
Zoho's IMAP Implementation
Zoho Mail supports standard IMAP4rev1 (RFC 3501). When a message is inserted via IMAP APPEND, Zoho's server follows the protocol specification: it adds a Received header with the current timestamp and stores the message with an INTERNALDATE. If the APPEND command includes an explicit INTERNALDATE parameter, Zoho honors it. But the Received header is still added no matter what.
Zoho Webmail vs IMAP Clients
Here's where it gets confusing.
Zoho's webmail interface displays dates based on the email's Date header, similar to how Gmail's web interface works. So dates may appear correct when viewing emails through Zoho's webmail. But any IMAP client connecting to the Zoho account (Outlook, Apple Mail, Thunderbird) will use the Received header or INTERNALDATE, displaying the migration date instead of the original.
An administrator might check the Zoho webmail, see correct dates, and conclude the migration was successful. Meanwhile, users connecting through Outlook or Apple Mail report that all their emails show the same date. For more on how different clients handle dates, see IMAP INTERNALDATE Explained.
Identifying the Problem in Zoho Mail
Check Email Headers
To confirm that migration Received headers are causing the date issue, open an affected email in Zoho webmail and view the raw headers. Click the three-dot menu on an email and select "Show Original." Look at the topmost Received header. If it contains a timestamp matching the migration date and references a migration tool or a server that wasn't part of the original delivery path, the problem is confirmed.
Compare Dates Across Clients
Open the same email in Zoho webmail and in an IMAP client like Outlook. If Zoho webmail shows "January 15, 2024" but Outlook shows "April 11, 2025" (the migration date), the Received header issue is the cause.
Fixing Zoho Mail Dates with Redate.io
Connecting via IMAP
Redate.io connects to Zoho Mail accounts via standard IMAP. To connect a Zoho Mail account, you'll need the IMAP server address (imap.zoho.com or imap.zoho.eu depending on the data center), the email address, and an app-specific password. Zoho requires app-specific passwords for IMAP connections when two-factor authentication is enabled (which is the recommended security configuration).
To generate an app-specific password in Zoho: go to Zoho Account settings, navigate to Security, then Application-Specific Passwords, and generate a new password for Redate.io. This password grants IMAP access without exposing the main account password.
The Scan and Fix Process
After connecting, Redate.io scans the entire Zoho mailbox to identify emails with migration Received headers. The scan checks every folder (Inbox, Sent, Drafts, and custom folders) and counts the number of affected emails. The scan is free.
Redate.io's proprietary correction engine then analyzes the complete header chain of each affected email, applying pattern matching across hundreds of known migration tool signatures. The multi-stage pipeline handles encoding issues, multipart message structures, inline attachments, digital signatures, and dozens of edge cases that a naive approach would miss. Every corrected email goes through integrity verification before the original is moved to a visible "Redate.io - Originals" backup folder for 30 days.
Why not just write a script yourself? Because edge cases are where things go horribly wrong. S/MIME signed emails, corrupted MIME boundaries, non-ASCII headers encoded per RFC 2047, nested multipart structures, messages with missing Date headers entirely. A script that handles 90% of emails and silently corrupts the other 10% is worse than no script at all (not the kind of thing you want to discover on a Monday morning).
Zoho-Specific Considerations
Zoho IMAP Rate Limits
Zoho Mail imposes rate limits on IMAP connections to prevent abuse. Redate.io respects these limits, throttling the correction process to stay within Zoho's allowed request rates. For mailboxes with a large number of emails, the fix may take longer than on platforms with more generous rate limits.
Zoho Free vs Paid Plans
Zoho's free Mail plan doesn't support IMAP access. IMAP is available only on Zoho Mail paid plans (Mail Lite and above). If the affected Zoho account is on the free plan, IMAP must be enabled by upgrading the plan before Redate.io can connect.
Zoho Data Center Location
Zoho operates data centers in multiple regions (US, EU, India, Australia, Japan). The IMAP server address varies by region: imap.zoho.com (US), imap.zoho.eu (EU), imap.zoho.in (India), imap.zoho.com.au (Australia). Make sure you use the correct regional server address when connecting Redate.io.
Zoho Mail showing the wrong dates after migration? Start a free scan with Redate.io to see exactly how many emails are affected.