Ajouté en août 2017 : Découvrez MimeKit : https://github.com/jstedfast/MimeKit . Il prend en charge la norme .NET et fonctionne donc sur plusieurs plates-formes.
Réponse originale : J'ai posté un exemple de projet pour illustrer cette réponse à Github
La DLL COM CDO fait partie de Windows/IIS et peut être référencée dans .net. Elle fournit une analyse syntaxique précise et un modèle d'objet agréable. Utilisez-la en conjonction avec une référence à ADODB.DLL.
public CDO.Message LoadEmlFromFile(String emlFileName)
{
CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stream = new ADODB.StreamClass();
stream.Open(Type.Missing, ADODB.ConnectModeEnum.adModeUnknown, ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified, String.Empty, String.Empty);
stream.LoadFromFile(emlFileName);
stream.Flush();
msg.DataSource.OpenObject(stream, "_Stream");
msg.DataSource.Save();
stream.Close();
return msg;
}