为什么在使用“邮件”应用发送非 iCloud 邮件时,它会连接到 iCloud?
Why does Mail app contact iCloud when sending a non-iCloud email?

原始链接: https://lapcatsoftware.com/articles/2026/8/2.html

在一篇近期的博文中,开发者杰夫·约翰逊(Jeff Johnson)指出,即便用户已在 macOS 邮件应用中关闭了 iCloud 功能,且正使用非 iCloud 账户发送邮件,该应用仍会持续连接苹果的 iCloud 服务器。 利用网络监控工具 Little Snitch,约翰逊观察到,每当发送邮件时,系统进程 `cloudd` 和 `nsurlsessiond` 就会立即尝试连接 `gateway.icloud.com`。由于苹果使用了证书锁定技术,这些数据包已被加密且无法被审查,因此所传输的具体信息不得而知。 约翰逊质疑,在已明确关闭 iCloud 集成的情况下,苹果为何仍需建立此类连接(或进行潜在的 CloudKit 查询与保存)。出于对这种不明数据活动的担忧,他已设置防火墙规则来拦截这些连接,仅在自身应用开发测试需要时才予以放行。

Hacker News 上的一场讨论探讨了为何即便在使用非 iCloud 邮箱发送邮件时,苹果的邮件应用(Mail app)仍会连接 iCloud 服务器。用户们对这种行为背后的动机展开了辩论,一些人推测苹果可能以安全或同步为幌子,进行监控或数据收集。 评论者将其与 Windows 进行了类比,指出无论用户是否操作,现代操作系统都会频繁启动后台连接,以进行遥测或连接 OneDrive 等服务。虽然一些参与者认为这些流量很可能与“接力”(Handoff)和跨设备状态同步等合法功能有关,但另一些人仍持怀疑态度,认为缺乏数据传输内容的透明度是个问题。这次对话突显了人们对集成生态系统功能带来的隐私隐患日益增长的不信任,以及验证科技巨头究竟获取了哪些信息的难度。
相关文章

原文
Why does Mail app contact iCloud when sending a non-iCloud email?
Jeff Johnson (My apps, PayPal.Me, Mastodon)

August 3 2026

I use iCloud only for testing the iCloud sync feature of my App Store apps. As I mentioned in my recent blog post Apple account email address disclosure via Mail app, I don’t have an iCloud email account. As you can see in my screenshots below, iCloud is disabled in System Settings for all uses of Mail.

Nonetheless, when I send an email in Mail app, from a non-iCloud account to an non-iCloud account, Mail immediately triggers an iCloud connection, as revealed by Little Snitch. In testing, I’ve reproduced this behavior repeatedly.

The cloudd process attempts to connect to the URL https://gateway.icloud.com:443/ckdatabase/api/client/query/retrieve, and the nsurlsessiond process attempts to connect to the URL https://gateway.icloud.com:443/ckdatabase/api/client/record/save, over both TCP and UDP, likely falling back to the alternate protocol when I block the first connection attempt.

Unfortunately, I haven’t been able to analyze the connection details with Proxyman, because iCloud uses certificate pinning, so Proxyman can’t decrypt the packets. In my testing, a network extension doesn’t get access to unencrypted data either. Thus, I don’t know the answer to the question posed by the title of this blog post: Why does Mail app contact iCloud when sending a non-iCloud email?

What could Mail be querying and saving in CloudKit when I’ve disabled Mail in iCloud? Why does Apple need to know when I’m sending emails?

I’ve decided to create Little Snitch rules to block cloudd and nsurlsessiond from connecting to gateway.icloud.com, and I’ll temporarily disable the rules if and when I need to test iCloud sync for software development purposes.

Jeff Johnson (My apps, PayPal.Me, Mastodon)
联系我们 contact @ memedata.com