emailimap

How to change headers of an e-mail in place via IMAP?


I have some email messages without a Date header accessible in an IMAP mailbox. This results in incorrect behaviour of the MUA (Mozilla Thunderbird). I expected this to be violating RFCs, but maybe it isn't. To prevent incorrect mail data, which occurs on every initial sync, I intend to fix this.

The MUA has an extension, with which headers of a message can be edited manually. However, what it really does, is creating a new message and deleting the old one.

Is there a method to modify a message via IMAP or in another way generally?

How could I use that method, without manually talking to the server.


Solution

  • No. IMAP messages are immutable, by definition. If they were not, nothing would know whether they needed to resync them or not.

    From RFC 3501, 2.3.1.1, statement 4:

    1. The combination of mailbox name, UIDVALIDITY, and UID must refer to a single immutable message on that server forever. In particular, the internal date, [RFC-2822] size, envelope, body structure, and message texts (RFC822, RFC822.HEADER, RFC822.TEXT, and all BODY[...] fetch data items) must never change. This does not include message numbers, nor does it include attributes that can be set by a STORE command (e.g., FLAGS).