Mail Drop, iCloud, and large files

It’s still surprisingly difficult to send larger files from one person to another. There are third-party solutions like Dropbox, which are fine for the regular user. But services like iCloud, which should make this much simpler, just don’t seem to cut the mustard.


Apple’s Mail Drop feature in the Mail app should handle this easily. The idea is simple: open Mail’s Preferences, click on Accounts, and select your iCloud mail account at the left. In the Account Information tab, you should see at the bottom a checkbox to Send large attachments with Mail Drop. Tick that.

Then add your large files to a regular message to the person who needs those files, and send it. Mail should detect that those files are too large to send as plain attachments, upload them instead to Mail Drop, embed web links into your message instead, and send the message to its recipient.

When they receive your message, they click on the weblinks, which download your large files. Simple, isn’t it? Well, it would be if it worked at all reliably. Many users find that their large files don’t upload, or they hit other snags.

Some users have discovered an excellent, and far more reliable, workaround: use the web interface instead of the Mail app. Log into your iCloud account, click on the Mail app there, and first go to its Preferences (the cog wheel icon) to enable Mail Drop there too. Compose your message, add the files using the paperclip icon, and it all just works, where Mail doesn’t.



So why should the web app work when the local app so often doesn’t?

To understand that, you’ll have to experience putting a large document into your iCloud storage, either using iCloud Drive, or by putting your Desktop & Documents folders into the cloud. If you have a few hours even days to spare, that 175 MB presentation might eventually get there, but most of the time the iCloud progress icon just sits, part-way through, doing nothing to upload your file.

Maybe in some US states like California, this all works much better than out in the sticks here in Europe, but for practical purposes just now, iCloud doesn’t work well with large files. I’ve sat for long periods waiting for iCloud’s progress icon to show any glimmer of life.

Peeking into the log using Cirrus, there’s just a series of failed attempts to move my data. CloudDocs will start encouragingly with startOperation:toCopyAvailableQuotaWithReply, then CloudKit chips in with
Starting operation <private>
Invoking main for operation <private>
Operation <private> enqueuing on container throttle queue
Operation <private> invoking on container throttle queue
Giving <private> blanket access to any container
Starting <private>

only to be dashed a tenth of a second later with
Changing delegate callback queue QoS to Background for session <private>
req: 54053EA0-11A8-4E98-98B0-9FE2FC8BD1B3, "<private>, did finish request <private> with error (null)"
Finished operation <private>
Operation <private> finished
Finished operation <private>

Then fifteen seconds later, the same cycle happens again. The clock ticks on, and still nothing moves.

When you try to use the Mail app with Mail Drop, your large files are transferred (if you’re lucky) straight into iCloud, using iCloud’s protocols. When you connect with it via the iCloud web app, your Mac talks HTTPS straight to Apple’s servers, without the intermediary of iCloud. Transfers between your Mac or iOS device then run at the speed offered by your connection, not at iCloud’s leisurely pace.

Mail Drop has impressive specifications – each attachment up to 5 GB in size to a maximum total of 1 TB storage at any time, platform- and device-independent, and they don’t even eat into your iCloud storage allowance. Apple details their limits here. So long as they can be sent and received via the web, not iCloud, they’re also pretty quick and convenient. I’m not sure why they aren’t used more often.

(Thanks to Alan Stonebridge, who led me to this solution.)