C#에서 이메일 메시지 내용 추출

이메일 정보 표시

다음은 MailMessage 이것은 이메일 메시지를 나타내며 개발자가 이메일 메시지 속성에 접근할 수 있게 합니다. 헤더 정보는 (다음에서 논의됨) 이메일 헤더 추출)를 다양한 방식으로 추출하고 조작할 수 있습니다. 이 문서는 선택된 이메일 헤더 정보와 이메일 본문을 화면에 표시하는 방법을 설명합니다. 화면에 이메일 정보를 표시하려면 다음 단계에 따라 주세요:

  • 다음의 인스턴스를 생성합니다. MailMessage 클래스.
  • 이메일 메시지를 로드합니다 MailMessage 인스턴스.
  • 이메일 내용을 화면에 표시합니다.

다음 코드 스니펫은 화면에 이메일 정보를 표시하는 방법을 보여줍니다.


// 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);

이메일 헤더 추출

이메일 헤더는 인터넷 이메일 메시지에 포함되는 인터넷 및 RFC 정의 표준 헤더 필드 집합을 나타냅니다. 이메일 헤더는 다음을 사용하여 지정할 수 있습니다. MailMessage 클래스. 일반 헤더 유형은 여기에서 정의됩니다. HeaderType 클래스. 일반 열거형처럼 동작하는 sealed 클래스입니다. 이메일에서 헤더를 추출하려면 다음 단계에 따라 주세요:

  1. 다음의 인스턴스를 생성합니다. MailMessage 클래스.
  2. 인스턴스에서 이메일 메시지를 로드합니다 MailMessage 클래스.
  3. 이메일 메시지를 로드한 후, 원시 콘텐츠를 가져옵니다.

다음은 MailMessage class 자체에는 From, To, Cc, Subject 등과 같은 속성이 포함되어 있습니다. 이러한 속성은 헤더에서 추출할 수 있습니다.

다음 코드 스니펫은 이메일 헤더를 추출하는 방법을 보여줍니다.

디코드된 헤더 값 가져오기

다음 코드 스니펫은 디코딩된 헤더 값을 가져오는 방법을 보여줍니다.

// 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);

이메일 본문 추출

일반 텍스트 본문 가져오기

다음은 본문 속성은 메시지 본문의 일반 텍스트 표현을 반환합니다.

string plainTextBody = mailMessage.Body;

참고: 메시지에 text/plain MIME 부분이 존재하면 해당 속성은 텍스트 데이터를 반환합니다. 그렇지 않으면, 다음에서 분리된 텍스트 내용을 반환합니다. HtmlBody HTML 마크업이 없는 속성.

HTML 본문을 일반 텍스트로 가져오기

다음은 MailMessage 클래스는 메시지의 HTML 본문을 일반 텍스트로 추출하는 기능을 제공합니다. The MailMessage 클래스는 GetHtmlBodyText HTML 본문을 일반 텍스트로 반환하는 메서드입니다. 이 메서드는 HtmlBody 속성은 HTML 마크업을 무시하고 분리된 일반 텍스트 내용을 반환합니다. 그 GetHtmlBodyText 이 메서드는 본문에 URL을 포함할지 여부를 나타내는 부울 매개변수를 받습니다. 매개변수를 true로 전달하면 HTML 본문에 URL이 포함됩니다.

다음 코드 스니펫은 사용법을 보여줍니다 GetHtmlBodyText 이 메서드는 이메일의 HTML 본문을 일반 텍스트로 추출합니다.

// 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);

X.500 Exchange 주소 접근

다음은 MailAddress 클래스에는 X500Address 메시지에 Exchange X.500 형식 주소가 있는 경우 이를 노출하도록 설계된 속성입니다. X.500(Exchange) 주소 문자열에 대한 읽기 전용 액세스를 제공합니다. MailAddress 인스턴스를 반환하고 메시지 메타데이터에 X.500 주소가 포함된 경우 해당 주소를 반환하며, 그렇지 않으면 null 또는 빈 값을 반환합니다. 구문 분석이 필요하지 않으며, 속성은 원시 X.500 문자열을 반환합니다.

var mailMessage = MailMessage.Load(fileName);
string exaddr = mailMessage.From.X500Address;