Konvertieren von MailMessage in Raw-Text

8

Gibt es eine einfache Möglichkeit, ein System.Net.Mail.MailMessage-Objekt in den rohen E-Mail-Nachrichtentext zu konvertieren, wie wenn Sie eine eml-Datei im Editor öffnen.

    
Craig 22.09.2011, 13:24
quelle

3 Antworten

16

Hier ist die gleiche Lösung, aber als eine Erweiterung zu MailMessage .

Ein Teil des Reflektionsaufwands wird minimiert, indem die Elemente ConstructorInfo und MethodInfo einmal im statischen Kontext erfasst werden.

%Vor%

Um das zugrunde liegende MemoryStream zu erhalten:

%Vor%     
allonhadaya 11.01.2012, 21:22
quelle
7

Ich habe Logik in MimeKit implementiert, damit Sie eine System.Net.Mail.MailMessage in eine MimeKit.MimeMessage . Sobald Sie das getan haben, können Sie die Nachricht einfach in einen Stream schreiben:

%Vor%

Dies erfordert kein Nachdenken in internen Methoden, was bedeutet, dass es nicht von der Laufzeit abhängig ist, was es viel tragbarer macht als die anderen bisher gegebenen Antworten.

    
jstedfast 25.02.2014 19:23
quelle
2

Der Code, den ich gesehen habe, beruht auf Reflektion. Ich habe die online gefundenen Stichproben angepasst, um diese Methode zu erstellen:

%Vor%

Sie können dann MemoryStream in eine Zeichenkette oder was immer Sie brauchen konvertieren.

Update: Eine Methodensignatur hat sich in .NET 4.5 geändert, was das oben genannte bricht: Getting System.Net.Mail .MailMessage als MemoryStream in .NET 4.5 Beta

    
Cymen 22.09.2011 13:37
quelle

Tags und Links