A jailbreak tweak that fixes iCloud Mail functionality on iOS 6 and newer by implementing a local TLS proxy.
- Overview
- Quick Start
- Features
- Requirements
- Installation
- Setup
- Version History
- Technical Details
- Troubleshooting
- Uninstallation
- To Do
- License
- Disclaimer
- Author
iOS 6 is no longer compatible with modern iCloud Mail servers due to outdated TLS protocols. This tweak solves this problem by:
- Intercepting Mail app connections to iCloud servers
- Redirecting them to a local proxy running on
127.0.0.1 - Establishing modern TLS connections to iCloud servers
- Proxying data between the Mail app (plaintext) and iCloud (TLS)
- Install the tweak from
repo.victorlobe.me - Add your iCloud Mail account manually in Settings β Mail, Contacts, Calendars (See Settings -> iCloud Mail Fix for instructions)
- Enjoy working Mail app on iOS 6!
-
Open Settings β Mail, Contacts, Calendars
-
Tap Add Account
-
Select Other
-
Choose Add Mail Account
-
Enter your full iCloud email and App Specific Password
-
For Incoming Mail Server:
- Host Name:
imap.mail.me.com - Username: The name part of your mail address e.g. [email protected] -> Tim.cook
- Password: Your App Specific Password
- Host Name:
-
For Outgoing Mail Server:
- Host Name:
smtp.mail.me.com - Username: Your full iCloud email e.g. [email protected]
- Password: Your App Specific Password
- Host Name:
-
Tap Save
-
It might take a while. Be patient. When asked if you want to set up the account without SSL, select No SSL. After that, an error will appear β this is normal. Just tap Continue.
-
Done
Note: This tweak currently only works with manually added iCloud Mail accounts. The default iCloud Mail account from Settings β iCloud β Mail will not work. Support for the default iCloud Mail account will be added in a future update.
- Restores full functionality of Mail.app
- IMAP Support:
imap.mail.me.com:993β127.0.0.1:143 - SMTP Support:
smtp.mail.me.com:587β127.0.0.1:587 - Automatic Startup: Runs as a LaunchDaemon
- Modern TLS: Uses mbedTLS for secure connections
β οΈ Manual Account Only: Currently only works with manually added iCloud Mail accounts (will be fixed in a later version)
- iOS Version: iOS 6.0 or later
- Dependencies: mobilesubstrate, PreferenceLoader
- Add the repository
repo.victorlobe.meto Cydia - Search for "iCloudMailFix"
- Install the package
- Respring your device
- Changed contact E-Mail Adress in control file
- Fixed the preference bundle on arm64 devices
- Modified the Instructions
- Initial release
- IMAP and SMTP support
- Local TLS proxy implementation
- Automatic startup via LaunchDaemon
- Manual iCloud Mail account support only
armv7 + arm64
iOS 6 Mail App (Plaintext) β Local Proxy (127.0.0.1) β iCloud Servers (TLS)
- Hooks
getaddrinfo()andCFStreamCreatePairWithSocketToHost() - Redirects iCloud Mail hostnames to
127.0.0.1 - Blocks SSL/TLS attempts from the Mail app
- Listens on
127.0.0.1:143(IMAP) and127.0.0.1:587(SMTP) - Establishes TLS connections to real iCloud servers
- Proxies data transparently between client and server
- β Access sensitive data - Passwords are never processed, stored, or logged. Only connection metadata is logged locally.
β οΈ TLS Validation: UsesMBEDTLS_SSL_VERIFY_OPTIONALfor iOS 6 compatibility. While this reduces security, the risk is minimal for normal users since attacks are extremely unlikely in practice. Use your own hotspot in public places for extra safety.
The tweak uses MBEDTLS_SSL_VERIFY_OPTIONAL instead of REQUIRED because:
- iOS 6 has outdated CA certificates (2012)
- Modern iCloud certificates would fail validation
- The local proxy + TLS to iCloud provides adequate security
- Functionality is prioritized over strict certificate validation
- IMAP:
imap.mail.me.com:993(TLS) β127.0.0.1:143(Plaintext) - SMTP:
smtp.mail.me.com:587(STARTTLS) β127.0.0.1:587(Plaintext)
- Library: mbedTLS 3.x
- Validation:
MBEDTLS_SSL_VERIFY_OPTIONAL - Ciphers: Default mbedTLS preset
- SNI: Enabled for proper hostname validation
- Daemon Logs (Main Log):
/var/log/iCloudMailFixd.err - Hook Logs (isnΒ΄t really used):
/var/log/iCloudMailFix-hook.log - Package Logs:
/var/log/iCloudMailFixd.pkg.log
-
Check if daemon is running:
launchctl list | grep iCloudMailFix -
Check logs for errors:
tail -f /var/log/iCloudMailFixd.err
-
Restart the daemon:
launchctl unload /Library/LaunchDaemons/com.victorlobe.iCloudMailFix.plist launchctl load /Library/LaunchDaemons/com.victorlobe.iCloudMailFix.plist
- Port conflicts: Ensure ports 143 and 587 are not used by other services
- Firewall: Check if any firewall is blocking localhost connections (unlikely)
- Network: Verify internet connectivity for iCloud server connections (obviously)
- Remove the package through Cydia
- Respring your device
- Default iCloud Account Support
- Add some settings
- Support for more iOS Versions
- iOS 5
- iOS 8
MIT License β Free to use, share, and modify.
This tweak is designed for educational and compatibility purposes. Use at your own risk. The developer is not responsible for any data loss or security issues that may arise from using this software.
Made with β€οΈ by Victor Lobe
