Enregistrer les pièces jointes des e-mails à l'aide de C#

En tant que développeur C#, vous pouvez facilement extraire et enregistrer par programmation les pièces jointes des e-mails. Dans cet article, vous apprendrez comment enregistrer les pièces jointes des e-mails à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C # pour enregistrer les pièces jointes aux e-mails

Pour enregistrer les pièces jointes des fichiers MSG, nous utiliserons GroupDocs.Viewer for .NET API. Il s’agit d’une puissante API de visionneuse de documents permettant de restituer et d’afficher des formats de fichiers largement utilisés sans installer de logiciel externe. Il vous permet également d’afficher rapidement les formats de fichiers pris en charge populaires de Word, Excel, PowerPoint, e-mails Outlook, Project, PDF, HTML et XML.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package GroupDocs.Viewer

Extraire et enregistrer les pièces jointes des e-mails à l’aide de C#

Vous pouvez extraire et enregistrer par programmation les pièces jointes des fichiers MSG des e-mails en suivant les étapes ci-dessous:

  • Tout d’abord, chargez le fichier MSG à l’aide de la classe Viewer.
  • Ensuite, appelez la méthode Viewer.GetAttachments() pour obtenir toutes les pièces jointes du fichier MSG chargé. Obtenez les résultats sous la forme d’une collection de pièces jointes.
  • Pour chaque pièce jointe de la collection, enregistrez la pièce jointe en appelant la méthode Viewer.SaveAttachment(). Transmettez l’objet de la pièce jointe et le chemin du fichier pour l’enregistrer.

L’exemple de code suivant montre comment extraire et enregistrer les pièces jointes contenues dans le fichier MSG de courrier électronique à l’aide de C#.

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

// Initialiser l'API et charger le fichier MSG
Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg");

// Obtenir des pièces jointes
IList<Attachment> attachments = viewer.GetAttachments();

foreach (Attachment attachment in attachments)
{
    // Save attachment
    string filePath = Path.Combine(outputPath, attachment.FileName);
    viewer.SaveAttachment(attachment, File.OpenWrite(filePath));
}
Extraire et enregistrer les pièces jointes des e-mails à l'aide de C#

Extrayez et enregistrez les pièces jointes des e-mails à l’aide de C#.

Enregistrer les pièces jointes au format PDF à partir d’e-mails à l’aide de C#

Vous pouvez enregistrer les pièces jointes des e-mails au format PDF par programmation en suivant les étapes ci-dessous:

  • Créez une instance de la classe Attachment avec le nom et le chemin du fichier joint.
  • Initialisez une instance de la classe MemoryStream.
  • Chargez le fichier MSG à l’aide de la classe Viewer.
  • Ensuite, appelez la méthode Viewer.SaveAttachment() et transmettez l’objet Attachment et MemoryStream comme paramètres d’entrée. Il extraira et enregistrera la pièce jointe spécifiée dans le flux de mémoire.
  • Maintenant, chargez l’objet MemoryStream à l’aide de la classe Viewer.
  • Ensuite, créez une instance de la classe PdfViewOptions avec le chemin du fichier PDF de sortie.
  • Enfin, appelez la méthode Viewer.View() pour enregistrer et afficher la pièce jointe au format PDF.

L’exemple de code suivant montre comment enregistrer et afficher la pièce jointe au format PDF à partir d’un fichier MSG d’e-mail à l’aide de C#.

// Initialiser la pièce jointe
Attachment attachment = new Attachment("attachment-word.doc", "attachment-word.doc");
MemoryStream attachmentStream = new MemoryStream();

// Initialiser l'API et charger le fichier MSG
using (Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg"))
{
    // Save attachment in stream
    viewer.SaveAttachment(attachment, attachmentStream);
}

// Initialiser l'API et charger le flux de pièces jointes
using (Viewer viewer = new Viewer(attachmentStream))
{
    // Define PDF view options
    PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\Viewer\\output.pdf");

    // View as PDF
    viewer.View(viewOptions);
}

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment extraire et enregistrer les pièces jointes contenues dans le fichier MSG d’e-mail en utilisant C#. De plus, vous avez vu comment enregistrer une pièce jointe spécifique au format PDF par programmation. En outre, vous pouvez en savoir plus sur l’API GroupDocs.Viewer pour .NET à l’aide de la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également