It appears that the date exposed to the user by Windows Mail does not come from the Date
header field, but rather from the latest Received
field (Received
fields are primarily meant to trace a message through delivery gateways, as mentioned in RFC5321 and RFC5322).
When fetchmail delivers a message, even with the mda
option (not using SMTP), by default it adds its own Received
field with the current date and time.
Fortunately it provides an option to disable this:
The --invisible option (keyword: set invisible) tries to make fetchmail invisible. Normally, fetchmail behaves like any other MTA would -- it generates a Received header into each message describing its place in the chain of transmission, and tells the MTA it forwards to that the mail came from the machine fetchmail itself is running on. If the invisible option is on, the Received header is suppressed and fetchmail tries to spoof the MTA it forwards to into thinking it came directly from the mailserver host.
I believe you want to combine this option with a non-SMTP delivery, for instance with --mda /usr/lib/dovecot/deliver
. Otherwise the SMTP server would probably add its own Received
field after fetchmail.