EML til MSG

En EML er en filtypenavn til en e-mail-meddelelse, der er gemt i en fil i MIME RFC 822-standardformatet, der understøttes af Outlook, Outlook Express, Windows Live Mail eller Thunderbird. Desuden er EML-filformatet et almindeligt MIME-filformat (rfc822) til lagring af e-mails. I den anden ende er MSG et sammensat fil binært format baseret på Microsofts Outlook MAPI. Outlook Item MSG-filformatet (. msg) er også en syntaks til lagring af et enkelt meddelelsesobjekt, såsom en e-mail, en aftale, en kontaktperson, en opgave og så videre i en fil.

Så i denne artikel vil vi diskutere trinene til, hvordan man programmæssigt konverterer EML-filer til MSG-format ved hjælp af REST API.

Email Processing API

Aspose.Email Cloud er en REST-baseret API, der tilbyder mulighederne for at skabe, manipulere og gengive almindelige e-mail-formater (Outlook EML, MSG, iCalendar-filer og VCard) til andre understøttede filformater. Du får mulighed for at arbejde med overskrift, afsenderadresse, indhold inkluderet i meddelelsen eller behandle e-mails vedhæftede filer som filer, fotos, dokumenter og meget mere. Implementer samtidig behandling af kontaktkort (Operate VCard) eller bearbejd kalender gennem iCalendar Support i dine applikationer.

For at lette udviklerne har vi lavet wrappers omkring Cloud API’er, så du får alle funktionerne lige inden for din foretrukne IDE. Før du går videre, anbefaler vi at besøge følgende link for at lære mere om hvordan man installerer Aspose.Cloud SDK’er.

Konverter EML til MSG i C#

Følg venligst nedenstående trin for at opfylde dine krav:

  • For det første skal du oprette et objekt af EmailCloud-klassen ved at sende ClientID og Client Secret detaljer som argumenter
  • For det andet skal du læse kilde-e-mail-filen til File.OpenRead-instansen og uploade til skylageret UploadFile(…)-metoden
  • For det tredje skal du oprette en forekomst af EmailGetAsFileRequest, der sender inputfil og resulterende format
  • Brug nu EmailGetAsFile API til at konvertere EML-fil tilgængelig i skylager til MSG-format
  • Til sidst skal du kalde den tilpassede metode for at gemme den resulterende fil på det lokale drev ved hjælp af File.Create-instansen
// For komplette eksempler og datafiler, gå venligst til 
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet

// Få klientlegitimationsoplysninger fra https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// oprette en forekomst af EmailCloud Api
var emailApi = new EmailCloud(clientSecret, clientID);
       
// kilde EML filnavn
string name = "sample.eml";
// navnet på den resulterende MSG-fil
string resultantFile = "converted.msg";
// formatet på den resulterende fil
string toFormat = "Msg";

 try
{
    // læs sourec EML for at streame objekt
    using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
    {
    
        // upload kilde EML-fil til skylager
        emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
        
        // opret EmailGetAsFileRequest-instans ved at sende inputfil og resulterende format
        var convertRequest = new EmailGetAsFileRequest(name, toFormat);
        
        // Udfør konverteringen
        var response = emailApi.Email.GetAsFile(convertRequest);

        // udskriv succesmeddelelse, hvis konverteringen er vellykket
        if (response != null && response.Equals("OK"))
        {
            // udskriv succesmeddelelsen
            Console.WriteLine("Successfully converted EML to MSG !");
            Console.ReadKey();
        }
        
        // gem den resulterende filstrøm til det lokale drev
        saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
    }
}catch (Exception ex)
{
    // udskriv undtagelsen i konsollen
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// brugerdefineret metode til at gemme output til systemdrev
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Eksempelfilerne brugt i ovenstående eksempel kan downloades fra sample.eml og converted.msg.

Hvis du har brug for at indlæse filen fra det lokale drev og udføre konverteringen, prøv venligst at bruge EmailConvert API.

EML til MSG ved hjælp af cURL-kommando

Da Aspose.Email Cloud er udviklet i henhold til REST-arkitektur, så kan den nemt tilgås via cURL-kommandoer. Brug terminalapplikationen/kommandoprompten for at få adgang til API’erne. Så det første skridt er at generere et JWT-adgangstoken baseret på klientlegitimationsoplysninger specificeret over Aspose.Cloud-dashboard. For yderligere detaljer, besøg venligst Sådan opnår du JWT-token ved hjælp af et klient-id og klienthemmelighedsnøgle.

Når vi har JWT-tokenet, skal du bruge følgende kommando til at konvertere EML-filen, der er tilgængelig i Cloud-lagring, til MSG-format og gemme outputtet på det lokale drev. Til konverteringsformål bruges 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

Konklusion

I denne artikel har vi diskuteret mulighederne i Aspose.Email Cloud til behandling af populære e-mail-formater. Specifikt har vi diskuteret konverteringen af EML-filen til MSG ved hjælp af C# .NET og cURL kommandoen. Ikke desto mindre er Cloud SDK’erne udviklet i henhold til MIT-licensen, og du kan downloade den komplette kildekode, der er tilgængelig over GitHub.

Vi har også leveret en swagger view af Cloud API’er, så du kan teste API’erne i en webbrowser. Desuden, hvis du støder på problemer, eller du har yderligere spørgsmål, er du velkommen til at kontakte os via gratis kundesupportforum.

Relaterede artikler