Hi Dharmendra,
The size of the message can change because of content conversion, encoding, and transport agent processing.
Content conversion:
Content conversion is the process of correctly formatting a message for each recipient. The decision to perform content conversion on a message depends on the destination and format of the message. For example, convert plain text format to HTML format. The latter tends to be larger than the former because it contains more elements and formatting information.
If you want to know more about Content conversion, see https://learn.microsoft.com/en-us/exchange/mail-flow/content-conversion/content-conversion?view=exchserver-2019.
Encoding:
The main excoding that affects the size of the message is the based64 excoding, which increases the size by about 33%.
Transport agent processing:
Once the mail is sent, it goes into the transport pipeline, and is processed by many transport agents. These transport agents have anti-spam, content filtering, address rewriting, RMS excryption and decryption functions and so on. Pipeline tracing creates an exact snapshot of a message before and after it encounters each transport agent. If you’re curious about how the message changes with each transport agent, you can try it out.
About how to use Pipeline tracing, see https://learn.microsoft.com/en-us/exchange/configure-pipeline-tracing-exchange-2013-help
As for headers and metadata, yes, some of them will be embedded. For example, when a message is routed to a sorter component on the transport service, the destination of the message is marked as the NextHopSolutionKey attribute on the recipient. And the DKIM record inserts an encrypted digital signature into the header of the message using the private key, then the recipient uses the signature to determine whether the received message is legitimate. However, they generally do not increase the mail size significantly.
I hope that’s a useful answer.
Best wishes,
Kelly