Extrahera e‑mailmeddelandets innehåll i C#
Visa e‑mailinformation
Den MailMessage representerar ett e‑postmeddelande och låter utvecklare komma åt e‑postmeddelandets egenskaper. Headerinformationen (diskuterad i Extrahera e‑posthuvuden) kan extraheras och manipuleras på olika sätt. Denna artikel förklarar hur man visar utvald e‑mail‑rubrikinformation och e‑mail‑kroppen på skärmen. För att visa e‑mailinformation på skärmen, följ dessa steg:
- Skapa en instans av MailMessage klass.
- Läs in ett e‑postmeddelande i MailMessage instans.
- Visa e‑postinnehållet på skärmen.
Följande kodsnutt visar hur du visar e‑mailinformation på skärmen.
// Create MailMessage instance by loading an Eml file
var message = MailMessage.Load("test.eml", new EmlLoadOptions());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
Console.Write("From:");
Console.WriteLine(message.From);
Console.Write("To:");
Console.WriteLine(message.To);
Console.Write("Subject:");
Console.WriteLine(message.Subject);
Console.WriteLine("HtmlBody:");
Console.WriteLine(message.HtmlBody);
Console.WriteLine("TextBody");
Console.WriteLine(message.Body);
Extrahera e‑mail‑rubriker
E‑postheadern representerar en internet- och RFC‑definierad standarduppsättning av headerfält som ingår i internet‑e‑postmeddelanden. En e‑postheader kan anges med hjälp av MailMessage klass. Vanliga huvudtyper definieras i HeaderType klass. Det är en slutna klass som fungerar som en vanlig uppräkning. För att extrahera rubriker från ett e‑mail, följ dessa steg:
- Skapa en instans av MailMessage klass.
- Läs in ett e‑postmeddelande i instansen av MailMessage klass.
- Efter att ett e‑postmeddelande har lästs in, får vi dess råa innehåll.
Den MailMessage klassen själv innehåller egenskaper som From, To, Cc, Subject med mera. Dessa egenskaper kan extraheras från huvuden.
Följande kodexempel visar hur du extraherar e‑posthuvuden.
Hämta avkodade rubrikvärden
Följande kodsnutt visar hur du får avkodade huvudvärden.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
MailMessage mailMessage = MailMessage.Load(dataDir + "emlWithHeaders.eml");
string decodedValue = mailMessage.Headers.GetDecodedValue("Thread-Topic");
Console.WriteLine(decodedValue);
Extrahera e‑mail‑kropp
Hämta ren text‑kropp
Den Kropp egenskapen returnerar en ren text‑representation av ett meddelandekropp.
string plainTextBody = mailMessage.Body;
Obs: Om text/plain MIME-delen finns i ett meddelande returnerar egenskapen dess textdata. Annars returneras det separata textinnehållet från HtmlBody egenskap utan HTML‑markup.
Hämta HTML‑kropp som ren text
Den MailMessage klassen tillhandahåller funktionen att extrahera HTML‑kroppen i meddelandet som ren text. MailMessage klass tillhandahåller en GetHtmlBodyText metod som returnerar HTML‑kroppen i ren text. Denna metod parsar HtmlBody egenskapen returnerar separerat textinnehåll utan HTML‑markup. GetHtmlBodyText metoden accepterar en boolesk parameter som anger om kroppen ska innehålla URL:er eller inte. Att skicka parametern som true innebär att HTML‑kroppen ska innehålla URL:er.
Följande kodexempel demonstrerar användningen av GetHtmlBodyText metod för att extrahera HTML‑kroppen i e‑mailet som vanlig text.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
MailMessage mail = MailMessage.Load(dataDir + "HtmlWithUrlSample.eml");
string body_with_url = mail.GetHtmlBodyText(true);// body will contain URL
string body_without_url = mail.GetHtmlBodyText(false);// body will not contain URL
Console.WriteLine("Body with URL: " + body_with_url);
Console.WriteLine("Body without URL: " + body_without_url);
Åtkomst till X.500 Exchange‑adress
Den MailAddress klassen har X500Address egenskap som byggts för att exponera Exchange X.500-formaterade adresser om de finns i ett meddelande. Den ger skrivskyddad åtkomst till X.500 (Exchange)-adresssträngen för MailAddress instanser och returnerar X.500-adressen om den finns i meddelandets metadata, annars returneras null eller tomt. Ingen parsning krävs – egenskapen returnerar den råa X.500-strängen.
var mailMessage = MailMessage.Load(fileName);
string exaddr = mailMessage.From.X500Address;