EML zu MSG

Ein EML ist eine Dateierweiterung für eine E-Mail-Nachricht, die in einer Datei im MIME RFC 822-Standardformat gespeichert ist, das von Outlook, Outlook Express, Windows Live Mail oder Thunderbird unterstützt wird. Darüber hinaus ist das EML Datei format ein Klartext-MIME Datei format (rfc822) zum Speichern von E-Mails. Auf der anderen Seite ist MSG ein zusammengesetztes binäres Dateiformat, das auf Microsoft Outlook MAPI basiert. Das Outlook Item MSG Datei format (. msg) ist eine Syntax zum Speichern eines einzelnen Nachrichtenobjekts wie einer E-Mail, eines Termins, eines Kontakts, einer Aufgabe usw. in einer Datei.

In diesem Artikel besprechen wir die Schritte zur programmgesteuerten Konvertierung von EML Dateien in das MSG-Format mithilfe der REST-API.

API zur E-Mail-Verarbeitung

Aspose.Email Cloud ist eine REST-basierte API, die die Möglichkeit bietet, gängige E-Mail-Formate (Outlook EML, MSG, iCalendar Dateien und VCard) zu erstellen, zu bearbeiten und in andere unterstützte Dateiformate umzuwandeln. Sie erhalten die Möglichkeit, mit Header, Absenderadresse, in der Nachricht enthaltenem Inhalt zu arbeiten oder E-Mail-Anhänge wie Dateien, Fotos, Dokumente und vieles mehr zu verarbeiten. Gleichzeitig können Sie die Verarbeitung von Kontaktkarten implementieren (VCard bedienen) oder Kalender über iCalendar-Unterstützung in Ihren Anwendungen verarbeiten.

Um den Entwicklern die Arbeit zu erleichtern, haben wir Wrapper für Cloud-APIs erstellt, damit Sie alle Funktionen direkt in Ihrer bevorzugten IDE nutzen können. Bevor Sie fortfahren, empfehlen wir Ihnen, den folgenden Link zu besuchen, um mehr darüber zu erfahren, wie man Aspose.Cloud SDKs installiert.

Konvertieren Sie EML in MSG in C#

Befolgen Sie zur Erfüllung Ihrer Anforderungen bitte die unten angegebenen Schritte:

  • Erstellen Sie zunächst ein Objekt der Klasse EmailCloud, indem Sie ClientID und Client Secret als Argumente übergeben.
  • Zweitens: Lesen Sie die Quell-E-Mail-Datei in die File.OpenRead-Instanz und laden Sie sie mit der UploadFile(…)-Methode in den Cloud-Speicher hoch.
  • Drittens erstellen Sie eine Instanz von EmailGetAsFileRequest und übergeben die Eingabedatei und das resultierende Format
  • Verwenden Sie jetzt die API EmailGetAsFile, um im Cloud-Speicher verfügbare EML Dateien in das MSG-Format zu konvertieren
  • Rufen Sie abschließend die benutzerdefinierte Methode auf, um die resultierende Datei mithilfe der File.Create-Instanz auf dem lokalen Laufwerk zu speichern.
// Vollständige Beispiele und Datendateien finden Sie unter 
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet

// Holen Sie sich die Client-Anmeldeinformationen von https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// Erstellen Sie eine Instanz der EmailCloud API
var emailApi = new EmailCloud(clientSecret, clientID);
       
// Name der EML-Quelldatei
string name = "sample.eml";
// Name der resultierenden MSG-Datei
string resultantFile = "converted.msg";
// Format der resultierenden Datei
string toFormat = "Msg";

 try
{
    // Lesen Sie die Sourcec-EML, um das Objekt zu streamen
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
    {
    
        // EML-Quelldatei in den Cloud-Speicher hochladen
        emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
        
        // Erstellen Sie eine EmailGetAsFileRequest-Instanz, indem Sie die Eingabedatei und das resultierende Format übergeben
        var convertRequest = new EmailGetAsFileRequest(name, toFormat);
        
        // Führen Sie den Konvertierungsvorgang durch
        var response = emailApi.Email.GetAsFile(convertRequest);

        // Drucke eine Erfolgsmeldung, wenn die Konvertierung erfolgreich war
        if (response != null && response.Equals("OK"))
        {
            // Drucken Sie die Erfolgsmeldung
            Console.WriteLine("Successfully converted EML to MSG !");
            Console.ReadKey();
        }
        
        // Speichern Sie den resultierenden Dateistream auf dem lokalen Laufwerk
        saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
    }
}catch (Exception ex)
{
    // Drucken Sie die Ausnahme in der Konsole
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// Benutzerdefinierte Methode zum Speichern der Ausgabe auf dem Systemlaufwerk
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Die im obigen Beispiel verwendeten Beispieldateien können von sample.eml und converted.msg heruntergeladen werden.

Falls Sie die Datei vom lokalen Laufwerk laden und die Konvertierung durchführen müssen, versuchen Sie es mit der EmailConvert API.

EML zu MSG mit dem cURL-Befehl

Da Aspose.Email Cloud gemäß der REST-Architektur entwickelt wurde, kann es problemlos über cURL-Befehle aufgerufen werden. Verwenden Sie die Terminalanwendung/Eingabeaufforderung, um auf die APIs zuzugreifen. Der erste Schritt besteht also darin, ein JWT-Zugriffstoken basierend auf den über das Aspose.Cloud-Dashboard angegebenen Client-Anmeldeinformationen zu generieren. Weitere Einzelheiten finden Sie unter So erhalten Sie ein JWT-Token mithilfe einer Client-ID und eines geheimen Client-Schlüssels.

Sobald wir das JWT-Token haben, verwenden Sie bitte den folgenden Befehl, um die im Cloud-Speicher verfügbare EML-Datei in das MSG-Format zu konvertieren und die Ausgabe auf dem lokalen Laufwerk zu speichern. Für Konvertierungszwecke wird die API EmailGetAsFile verwendet.

curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Msg" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.msg

Abschluss

In diesem Artikel haben wir die Funktionen von Aspose.Email Cloud zur Verarbeitung gängiger E-Mail-Formate besprochen. Insbesondere haben wir die Konvertierung der EML-Datei in MSG mithilfe des C# .NET und cURL-Befehls besprochen. Die Cloud SDKs werden jedoch gemäß der MIT-Lizenz entwickelt und Sie können den vollständigen Quellcode über GitHub herunterladen.

Wir haben auch eine Swagger-Ansicht der Cloud-APIs bereitgestellt, damit Sie die APIs in einem Webbrowser testen können. Wenn Sie auf Probleme stoßen oder weitere Fragen haben, können Sie uns gerne über das kostenlose Kundensupportforum kontaktieren.

Verwandte Artikel