I recently discovered that my email, served via POP3 on a SquirrelMail server, and only accessed by the stock Android Email application, is all being marked as read on the server. Every one of them? Why is this happening? How can I stop it?
POP3 is meant to mark the server copy as read once it's been downloaded Completely. The default setting in the stock Email app is 2kb of the email is downloaded. If changed to one of the higher options, you risk completely downloading the email, and the server will mark it read at that point. (It's not a bug, it's a feature, see an old Superuser question):
POP is working as designed, here. If you access a mailbox via the Post Office Protocol, you are expected to be transferring it off the server to storage of your own. (RFCs 1081 and 1939 both make this point explicit in their introductions.) From the server's point of view a message that has been RETRieved but not yet DELEted is indeed "read" by the POP client.
My issue was that I changed the Limit Retrieval Size option in Sync Settings for that account to No Limit (including attachments). The names of the options vary between Android and manufacturer versions.
By switching to a smaller size or header only, I get the new emails in the app still, while not marking them as read on the server/web-mail until it has been read. At 10 or 20kb, some emails still get marked read, but not the majority of them.