Threading broken in Apple Mail on the Mac and in iOS

AI-generated summary

The discussion revolves around threading issues in Apple Mail and iOS after switching from SendGrid to Amazon SES. adamengst notes that Amazon SES overrides the Message-ID header, which disrupts threading because Apple Mail relies on matching Message-ID and References headers. This is contrasted with Gmail, which uses subject lines for threading. codinghorror confirms SES’s invasive header handling, while peternlewis explains that using a personal mail server avoids the issue, maintaining proper threading. The problem also extends to topic splitting, where new topics remain incorrectly threaded with old ones, highlighting the unreliability of email threading in Apple Mail.

Some time ago there was a discussion of threading being broken in Apple Mail.

One of my users just reported this as having changed on our site, since we switched recently from SendGrid to Amazon SES.

It would seem that the problem is related to the Message-ID header being different. It doesn’t seem that it’s possible to override Message-ID on SES:

  • Message-ID ( Note: Amazon SES overrides any Message-ID header you provide.)

Any other thoughts about how I might be able to get threading to work for my users relying on Apple Mail (which is most of them)?

@peternlewis. are you still having issues here? What email service are you sending through?

I believe Amazon SES messes with mail headers as I recall, in a particularly invasive way.

Ah yes I see you found that as well.

I use my own mail server (which has its own problems, but messing with the heads is not one of them).

Good to know. And using your own email server is enabling the threads to be maintained in Mail?

We’ve also noticed that breaking some messages out into a new topic runs into the same problem in Mail—the new topic continues to be threaded with the old one. We’re not sure why that’s happening yet.

Yes.

Mail threading is a bizarre black box, so “works most of the time” seems to be as good as it gets.