It can be surprising, but this is quite normal in the SMTP protocol. A message is composed of headers and a body. It is send over a chain of Mail Transport Agents. No agent should change the body, but they can change the headers, mainly to add a Received
field, a Date
field if it is not present and any other field as required by their own processing. But neither the To
nor the From
field are special, and in particular they are not used to deliver the mail. The MTAs use what is called the envelope, that is what is passed in the MAIL FROM
and RCPT TO
commands of the SMTP protocol.
Mail User Agents (like Thunderbird) do use the To, Cc and Bcc fields to build the envelope, but if you know the SMTP protocolSMTP protocol, it is easy to send a mail with forged or absent To and From headers.