The wheels grind slowly here at Irreal but they do grind. I’m in the final stages of moving my email to Emacs in my neverending quest to run everything in Emacs. My specific intent is to run mu4e
as my client and have mbsync
take care of retrieving and syncing emails for my Apple mail account.
Sadly, I can’t get mbsync
to connect with the Apple IMAP server. The relevant part of my .mbsyncrc
is
IMAPAccount icloud Host IMAP.mail.me.com User XXX PassCmd "security find-generic-password -s mbsync-icloud-password -w" Port 993 SSLType IMAPS SSLVersions TLSv1.2 AuthMechs Login #CertificateFile /usr/local/share/certs/ca-bundle.crt
when I run this with mbsync -D icloud
, I get
... Logging in... >>> 1 LOGIN <user> <pass> 1 NO [AUTHENTICATIONFAILED] Authentication failed IMAP command 'LOGIN <user> <pass>' returned an error: NO [AUTHENTICATIONFAILED] Authentication failed
It makes no difference whether or not the CertificateFile
line in the configuration is commented out. The security
function on the PassCmd
line does return my icloud password and even entering the password itself on a PASS
line doesn’t work. It makes no difference whether the USER
line is just my user name or my full email address.
I’ve consulted DuckDuckGo but I can’t find any examples of setting things up for macOS. If anyone has a working mbsync
configuration for talking to Apple’s IMAP server, I’d really like to hear from you. Please leave a comment if you have any wisdom to impart.
UPDATE Andy Bold figured out the main problem. Since Sierra (I think) introduced two-factor authentication, you need to generate an application specific password for this sort of thing. Once I did that, mbsync
connected to the Apple IMAP server without a problem. Now I’m dealing with the notoriously finicky Apple Mail service to get things downloaded. I’ll write up my adventures when I’m done.