Speichern Sie Anhänge aus E-Mails mit C#

Als C#-Entwickler können Sie die Anhänge ganz einfach programmgesteuert aus E-Mail-Nachrichten extrahieren und speichern. In diesem Artikel erfahren Sie, wie Sie Anhänge aus E-Mails mit C# speichern.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

C#-API zum Speichern von E-Mail-Anhängen

Zum Speichern der Anhänge aus MSG-Dateien verwenden wir GroupDocs.Viewer for .NET API. Es ist eine leistungsstarke Dokument-Viewer-API zum Rendern und Anzeigen weit verbreiteter Dateiformate, ohne dass externe Software installiert werden muss. Es ermöglicht Ihnen auch, schnell beliebte unterstützte Dateiformate von Word, Excel, PowerPoint, Outlook-E-Mails, Projekt, PDF, HTML und XML.

Sie können die DLL der API entweder herunterladen oder mit NuGet installieren.

Install-Package GroupDocs.Viewer

Extrahieren und speichern Sie Anhänge aus E-Mails mit C#

Sie können Anhänge aus E-Mail-MSG-Dateien programmgesteuert extrahieren und speichern, indem Sie die folgenden Schritte ausführen:

  • Laden Sie zunächst die MSG-Datei mit der Klasse Viewer.
  • Rufen Sie dann die Methode Viewer.GetAttachments() auf, um alle Anhänge der geladenen MSG-Datei abzurufen. Erhalten Sie die Ergebnisse als Sammlung von Anhängen.
  • Speichern Sie für jeden Anhang in der Sammlung den Anhang, indem Sie die Methode Viewer.SaveAttachment() aufrufen. Übergeben Sie das Anhangsobjekt und den Dateipfad, um es zu speichern.

Das folgende Codebeispiel zeigt, wie Sie die in der E-Mail-MSG-Datei enthaltenen Anhänge mit C# extrahieren und speichern.

string outputPath = @"C:\Files\Viewer\";

// Initialisieren Sie die API und laden Sie die MSG-Datei
Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg");

// Anhänge erhalten
IList<Attachment> attachments = viewer.GetAttachments();

foreach (Attachment attachment in attachments)
{
    // Anhang speichern
    string filePath = Path.Combine(outputPath, attachment.FileName);
    viewer.SaveAttachment(attachment, File.OpenWrite(filePath));
}
Extrahieren und speichern Sie Anhänge aus E-Mails mit C#

Extrahieren und speichern Sie Anhänge aus E-Mails mit C#.

Speichern Sie Anhänge als PDF aus E-Mails mit C#

Sie können die Anhänge der E-Mail-Nachricht programmgesteuert als PDF speichern, indem Sie die folgenden Schritte ausführen:

  • Erstellen Sie eine Instanz der Klasse Attachment mit dem angehängten Dateinamen und Dateipfad.
  • Initialisieren Sie eine Instanz der MemoryStream-Klasse.
  • Laden Sie die MSG-Datei mit der Klasse Viewer.
  • Rufen Sie dann die Methode Viewer.SaveAttachment() auf und übergeben Sie das Attachment- und das MemoryStream-Objekt als Eingabeparameter. Es wird den angegebenen Anhang extrahieren und im Speicherstrom speichern.
  • Laden Sie nun das MemoryStream-Objekt mit der Klasse Viewer.
  • Erstellen Sie dann eine Instanz der Klasse PdfViewOptions mit dem Pfad der PDF-Ausgabedatei.
  • Rufen Sie schließlich die Methode Viewer.View() auf, um den Anhang als PDF zu speichern und anzuzeigen.

Das folgende Codebeispiel zeigt, wie Sie den Anhang als PDF aus einer E-Mail-MSG-Datei mit C# speichern und anzeigen.

// Anhang initialisieren
Attachment attachment = new Attachment("attachment-word.doc", "attachment-word.doc");
MemoryStream attachmentStream = new MemoryStream();

// API initialisieren und MSG-Datei laden
using (Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg"))
{
    // Anhang im Stream speichern
    viewer.SaveAttachment(attachment, attachmentStream);
}

// API initialisieren und Attachment-Stream laden
using (Viewer viewer = new Viewer(attachmentStream))
{
    // Definieren Sie PDF-Ansichtsoptionen
    PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\Viewer\\output.pdf");

    // Als PDF ansehen
    viewer.View(viewOptions);
}

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie die in der E-Mail-MSG-Datei enthaltenen Anhänge mit C# extrahieren und speichern. Außerdem haben Sie gesehen, wie Sie einen bestimmten Anhang programmgesteuert als PDF speichern. Außerdem können Sie in der Dokumentation mehr über GroupDocs.Viewer für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch