Как продемонстрировали другие, EML просто не является хорошим способом serialize
почтового сообщения. Возможно, вам будет лучше, если вы сохраните свою почту в другом формате. Несмотря на то, что в .Net Framework есть несколько механизмов сериализации для сериализации любого объекта, вы можете также подумать о том, чтобы просто сохранить компоненты вашей почты, такие как адреса, тело, файлы, которые будут прикреплены в base64, в файле XML вашего собственного дизайна. 1002 *
Ниже приведен пример, с которого можно начать:
<?xml version="1.0" encoding="utf-8"?>
<mail>
<to display="Thomas Edison" address="tedison@domain.com" />
<body>
Hi Thomas,
How are you doing?
Bye
</body>
<attachment name="MaryLamb.wav">
cmF0aWUgYWFuIGluIFBERi1mb3JtYWF0LiBEZSBmYWN0dXVyIGlzIGVlbiBvZmZpY2ll
ZWwgZ2VzaWduZWVyZA0KZG9jdW1lbnQgdmFuIEV1cm9maW5zIE9tZWdhbSBCVi4gRGUg
c2lnbmF0dXJlIGt1bnQgdSB2ZXJpZmnDq3Jlbi4NCg0KVm9vciBoZXQgdmVyaWZpw6ty
...
</attachment>
</mail>
Дополнительным преимуществом будет то, что, в отличие от создания EML, вам не нужен smtpClient для создания файлов почтовой концепции.
Xml чрезвычайно легко создавать и анализировать в C #.
Вы не указали причину сохранения EML. Если целью является долгосрочное архивирование, у xml может быть преимущество.