EML σε MSG

Το EML είναι μια επέκταση αρχείου για ένα μήνυμα ηλεκτρονικού ταχυδρομείου που είναι αποθηκευμένο σε ένα αρχείο στην τυπική μορφή MIME RFC 822 που υποστηρίζεται από το Outlook, το Outlook Express, το Windows Live Mail ή το Thunderbird. Επιπλέον, η μορφή αρχείου EML είναι μια μορφή αρχείου απλού κειμένου MIME (rfc822) για την αποθήκευση email. Από την άλλη πλευρά, το MSG είναι μια δυαδική μορφή σύνθετου αρχείου που βασίζεται στον MAPI του Outlook της Microsoft. Επίσης, η μορφή αρχείου του Outlook Item MSG (. msg) είναι μια σύνταξη για την αποθήκευση ενός μεμονωμένου αντικειμένου μηνύματος, όπως ένα μήνυμα ηλεκτρονικού ταχυδρομείου, μια συνάντηση, μια επαφή, μια εργασία κ.λπ., σε ένα αρχείο.

Έτσι, σε αυτό το άρθρο, θα συζητήσουμε τα βήματα σχετικά με τον τρόπο μετατροπής αρχείων EML μέσω προγραμματισμού σε μορφή MSG χρησιμοποιώντας το REST API.

API επεξεργασίας email

Το Aspose.Email Cloud είναι ένα API που βασίζεται σε REST που προσφέρει τις δυνατότητες δημιουργίας, χειρισμού και απόδοσης κοινών μορφών email (Outlook EML, MSG, αρχεία iCalendar και VCard) σε άλλες υποστηριζόμενες μορφές αρχείων. Έχετε τις δυνατότητες να εργαστείτε με την κεφαλίδα, τη διεύθυνση αποστολέα, το περιεχόμενο που περιλαμβάνεται στο μήνυμα ή να επεξεργάζεστε συνημμένα email όπως αρχεία, φωτογραφίες, έγγραφα και πολλά άλλα. Ταυτόχρονα, εφαρμόστε την επεξεργασία καρτών επαφών (Operate VCard) ή επεξεργαστείτε το Ημερολόγιο μέσω του iCalendar Support στις εφαρμογές σας.

Για να διευκολύνουμε τους προγραμματιστές, έχουμε δημιουργήσει περιτυλίγματα γύρω από τα Cloud API, ώστε να έχετε όλες τις δυνατότητες απευθείας στο αγαπημένο σας IDE. Πριν προχωρήσετε περαιτέρω, συνιστούμε να επισκεφτείτε τον παρακάτω σύνδεσμο για να μάθετε περισσότερα σχετικά με τον πώς να εγκαταστήσετε τα Aspose.Cloud SDK.

Μετατροπή EML σε MSG σε C#

Ακολουθήστε τα παρακάτω βήματα για να εκπληρώσετε την απαίτησή σας:

  • Αρχικά, δημιουργήστε ένα αντικείμενο της κλάσης EmailCloud περνώντας ως ορίσματα ClientID και Client Secret στοιχεία
  • Δεύτερον, διαβάστε το αρχείο προέλευσης email στο File.OpenRead και μεταφορτώστε στο χώρο αποθήκευσης cloud στη μέθοδο UploadFile(…)
  • Τρίτον, δημιουργήστε μια παρουσία του EmailGetAsFileRequest που περνάει το αρχείο εισόδου και τη μορφή που προκύπτει
  • Τώρα χρησιμοποιήστε το EmailGetAsFile API για να μετατρέψετε το αρχείο EML που είναι διαθέσιμο στο χώρο αποθήκευσης Cloud σε μορφή MSG
  • Τέλος, καλέστε την προσαρμοσμένη μέθοδο για να αποθηκεύσετε το αρχείο που προκύπτει στην τοπική μονάδα δίσκου χρησιμοποιώντας την παρουσία File.Create
// Για πλήρη παραδείγματα και αρχεία δεδομένων, μεταβείτε στο 
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet

// Λάβετε διαπιστευτήρια πελάτη από τη https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// δημιουργήστε μια παρουσία του EmailCloud Api
var emailApi = new EmailCloud(clientSecret, clientID);
       
// όνομα αρχείου EML πηγής
string name = "sample.eml";
// όνομα του αρχείου MSG που προκύπτει
string resultantFile = "converted.msg";
// μορφή του αρχείου που προκύπτει
string toFormat = "Msg";

 try
{
    // διαβάστε το αντικείμενο EML προέλευσης για ροή
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
    {
    
        // μεταφορτώστε το αρχείο EML πηγής στο χώρο αποθήκευσης Cloud
        emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
        
        // δημιουργήστε το παράδειγμα EmailGetAsFileRequest περνώντας το αρχείο εισόδου και τη μορφή που προκύπτει
        var convertRequest = new EmailGetAsFileRequest(name, toFormat);
        
        // Εκτελέστε τη λειτουργία μετατροπής
        var response = emailApi.Email.GetAsFile(convertRequest);

        // μήνυμα επιτυχίας εκτύπωσης εάν η μετατροπή είναι επιτυχής
        if (response != null && response.Equals("OK"))
        {
            // εκτυπώστε το μήνυμα επιτυχίας
            Console.WriteLine("Successfully converted EML to MSG !");
            Console.ReadKey();
        }
        
        // αποθηκεύστε τη ροή του αρχείου που προκύπτει στην τοπική μονάδα δίσκου
        saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
    }
}catch (Exception ex)
{
    // εκτυπώστε την εξαίρεση στην κονσόλα
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// προσαρμοσμένη μέθοδος αποθήκευσης της εξόδου στη μονάδα δίσκου συστήματος
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Τα δείγματα αρχείων που χρησιμοποιούνται στο παραπάνω παράδειγμα μπορούν να ληφθούν από το sample.eml και το converted.msg.

Σε περίπτωση που χρειαστεί να φορτώσετε το αρχείο από την τοπική μονάδα δίσκου και να πραγματοποιήσετε τη μετατροπή, δοκιμάστε να χρησιμοποιήσετε το EmailConvert API.

EML σε MSG χρησιμοποιώντας την εντολή cURL

Καθώς το Aspose.Email Cloud έχει αναπτυχθεί σύμφωνα με την αρχιτεκτονική REST, ώστε να είναι εύκολα προσβάσιμο μέσω εντολών cURL. Χρησιμοποιήστε την εφαρμογή τερματικού/γραμμή εντολών για πρόσβαση στα API. Επομένως, το πρώτο βήμα είναι να δημιουργήσετε ένα διακριτικό πρόσβασης JWT με βάση τα διαπιστευτήρια πελάτη που καθορίζονται στο Aspose.Cloud dashboard. Για περισσότερες λεπτομέρειες, επισκεφτείτε το Πώς να αποκτήσετε το διακριτικό JWT με χρήση αναγνωριστικού πελάτη και μυστικού κλειδιού πελάτη.

Μόλις έχουμε το διακριτικό JWT, χρησιμοποιήστε την ακόλουθη εντολή για να μετατρέψετε το αρχείο EML που είναι διαθέσιμο στο χώρο αποθήκευσης Cloud σε μορφή MSG και να αποθηκεύσετε την έξοδο στην τοπική μονάδα δίσκου. Για σκοπούς μετατροπής, χρησιμοποιείται το EmailGetAsFile API.

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

Σύναψη

Σε αυτό το άρθρο, έχουμε συζητήσει τις δυνατότητες του Aspose.Email Cloud για την επεξεργασία δημοφιλών μορφών email. Συγκεκριμένα, έχουμε συζητήσει τη μετατροπή του αρχείου EML σε MSG χρησιμοποιώντας την εντολή C# .NET και cURL. Ωστόσο, τα Cloud SDK αναπτύσσονται σύμφωνα με την άδεια του MIT και μπορείτε να πραγματοποιήσετε λήψη του πλήρους πηγαίου κώδικα είναι διαθέσιμος μέσω GitHub.

Παρέχουμε επίσης μια swagger view Cloud API, ώστε να μπορείτε να δοκιμάσετε τα API σε ένα πρόγραμμα περιήγησης ιστού. Επιπλέον, εάν αντιμετωπίζετε προβλήματα ή έχετε περαιτέρω απορίες, μη διστάσετε να επικοινωνήσετε μαζί μας μέσω του δωρεάν φόρουμ υποστήριξης πελατών.

Σχετικά άρθρα