The complexities of tracking email opens have been discussed before, and the general consensus has been it’s a bad idea to try. However, a number of our users have said that they’d find a per-user preference along the lines of “mark post as read when emailed” very useful, as it’s reasonable to assume that if they’ve been emailed it, then they’ve opened it.
As it turns out, this isn’t an original idea. @mcwumbly suggested the same thing over a year ago:
I think it’d be best default off, so as to not change users’ current expectations - but we could always add a preference to set the global default.
Would this be welcome in core, or does it belong in a plugin?
I am mixed on this being a core feature or not, @codinghorror should make the call.
I think the option though is labeled clearly in the spec, and I think it is probably safest to keep it default off (with a site setting to change the default). This does pop up enough to want to do something about it.
I’m not so sure about that. I have seen countless posts about PHP mail() returning true, even though the email failed to be delivered. i.e. as far as PHP was concerned, the email had been successfully sent to the email server. Whether or not the email server successfully sent the email to the email client, and whether or not the email client accepted the email, let alone whether or not the recipient opened and read the email was unknown to PHP. eg. the process is like
A → B → C → D
where A knows it handed off to B, but has no way of knowing if it made it all the way to D
Of course, but the context in which I meant that is one where users tell us that it’s reasonable to assume that if they’ve been emailed about it, then they’ve read it. Definitely not making a general claim here that if you send an email to someone that it means it’s been received, opened and read.
I’m still of the opinion that we should allow users to opt in for read receipts which would mark that post as read. It’s not reliable for the average user, but it’s perfectly reliable for power users who are willing to some troubleshooting in order to achieve their optimal workflow.