
Az EML az Outlook, az Outlook Express, a Windows Live Mail vagy a Thunderbird által támogatott MIME RFC 822 szabványos formátumú fájlba mentett e-mail üzenetek fájlkiterjesztése. Ezenkívül az EML fájlformátum egy egyszerű szöveges MIME (rfc822) fájlformátum az e-mailek tárolására. Másrészt az MSG egy összetett bináris fájlformátum, amely a Microsoft Outlook MAPI-ján alapul. Ezenkívül az Outlook elem MSG (. msg) fájlformátuma egyetlen üzenetobjektum, például e-mail, találkozó, névjegy, feladat stb. fájlban való tárolására szolgáló szintaxis.
Tehát ebben a cikkben megvitatjuk az EML-fájlok programozott MSG formátumba konvertálásának lépéseit a REST API használatával.
- E-mail feldolgozás API
- Konvertálja az EML-t MSG-vé C#-ban
- EML az MSG-hez a cURL parancs használatával
E-mail feldolgozás API
Az Aspose.Email Cloud egy REST-alapú API, amely általános e-mail formátumok (Outlook EML, MSG, iCalendar-fájlok és VCard) létrehozását, kezelését és megjelenítését kínálja. egyéb támogatott fájlformátumok. Lehetővé teszi a fejléc, a feladó cím és az üzenetben található tartalom kezelését, vagy az e-mailek mellékleteinek, például fájlok, fényképek, dokumentumok és sok más feldolgozását. Ezzel egyidejűleg alkalmazza a névjegykártyák feldolgozását (Operate VCard), vagy dolgozza fel a Naptárt az iCalendar Support segítségével az alkalmazásokban.
A fejlesztők megkönnyítése érdekében a Cloud API-k köré burkolólapokat hoztunk létre, így az összes funkciót közvetlenül a kedvenc IDE-jében kaphatja meg. Mielőtt továbblépne, javasoljuk, hogy látogassa meg a következő linket, hogy többet megtudjon az Aspose.Cloud SDK-k telepítéséről.
Konvertálja az EML-t MSG-vé C#-ban
Követelménye teljesítéséhez kövesse az alábbi lépéseket:
- Először is hozzon létre egy EmailCloud osztály objektumot a ClientID és a Client Secret adatok argumentumként történő átadásával
- Másodszor olvassa be a forrás e-mail fájlt a File.OpenRead példányba, és töltse fel a felhőtárhelyre az UploadFile(…) metódust
- Harmadszor, hozzon létre egy EmailGetAsFileRequest példányt, amely átadja a bemeneti fájlt és a kapott formátumot
- Most használja az EmailGetAsFile API-t a felhőtárhelyen elérhető EML-fájlok MSG formátumba konvertálásához
- Végül hívja meg az egyéni metódust az eredményül kapott fájl helyi meghajtóra mentéséhez a File.Create példány használatával
// A teljes példákért és adatfájlokért látogasson el ide
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// Szerezze be az ügyfél hitelesítő adatait a https://dashboard.aspose.cloud/ webhelyről
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// hozzon létre egy EmailCloud Api példányt
var emailApi = new EmailCloud(clientSecret, clientID);
// forrás EML fájlnév
string name = "sample.eml";
// az eredményül kapott MSG fájl neve
string resultantFile = "converted.msg";
// az eredményül kapott fájl formátuma
string toFormat = "Msg";
try
{
// olvassa be a sourec EML-t a stream objektumhoz
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// forrás EML-fájl feltöltése a felhőtárhelyre
emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
// hozzon létre EmailGetAsFileRequest példányt a bemeneti fájl és a kapott formátum átadásával
var convertRequest = new EmailGetAsFileRequest(name, toFormat);
// Hajtsa végre az átalakítási műveletet
var response = emailApi.Email.GetAsFile(convertRequest);
// sikeres átalakítás esetén nyomtasson sikeres üzenetet
if (response != null && response.Equals("OK"))
{
// nyomtassa ki a sikerüzenetet
Console.WriteLine("Successfully converted EML to MSG !");
Console.ReadKey();
}
// mentse az eredményül kapott fájlfolyamot a helyi meghajtóra
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// nyomtassa ki a kivételt a konzolon
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// egyéni módszer a kimenet rendszermeghajtóra való mentéséhez
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
A fenti példában használt mintafájlok letölthetők a sample.eml és a converted.msg oldalról.
Abban az esetben, ha be kell töltenie a fájlt a helyi meghajtóról, és végre kell hajtania az átalakítást, próbálkozzon az EmailConvert API használatával.
EML az MSG-hez a cURL parancs használatával
Mivel az Aspose.Email Cloud REST architektúra szerint lett kifejlesztve, így könnyen elérhető a cURL parancsokkal. Az API-k eléréséhez használja a terminálalkalmazást/parancssort. Tehát az első lépés egy JWT hozzáférési jogkivonat létrehozása az Aspose.Cloud dashboard alatt megadott kliens hitelesítő adatok alapján. További részletekért látogasson el a Hogyan szerezhető be JWT-token ügyfél-azonosító és ügyféltitkos kulcs használatával oldalon.
Ha megvan a JWT token, kérjük, használja a következő parancsot a felhőtárolóban elérhető EML-fájl konvertálásához MSG formátumba, és mentse a kimenetet a helyi meghajtóra. Konverziós célokra az EmailGetAsFile API használatos.
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
Következtetés
Ebben a cikkben az Aspose.Email Cloud képességeit tárgyaltuk a népszerű e-mail formátumok feldolgozásához. Konkrétan az EML-fájl MSG-vé konvertálását tárgyaltuk a C# .NET és a cURL paranccsal. Ennek ellenére a Cloud SDK-kat az MIT-licenc szerint fejlesztik, és a teljes forráskód letölthető a GitHub webhelyen.
A felhő API-król egy swagger view-t is biztosítottunk, így az API-kat webböngészőn belül tesztelheti. Továbbá, ha bármilyen problémába ütközik, vagy további kérdései vannak, forduljon hozzánk bizalommal az ingyenes ügyfélszolgálati fórumon.