이메일 내용 생성 및 설정
새 이메일 메시지 만들기
MailMessage 클래스는 이메일 메시지를 나타내며 개발자가 새 이메일 메시지를 생성할 수 있게 합니다. From, To, Subject 및 본문과 같은 기본 이메일 속성을 새 메일 메시지에 쉽게 지정할 수 있습니다. 또한 메일 메시지를 EML, MSG, MHTML과 같은 다양한 형식으로 저장할 수 있습니다.
- MailMessage 클래스를 인스턴스화합니다.
- 메일 메시지 속성을 설정합니다.
- 메일 메시지를 다양한 형식으로 저장합니다.
다음 코드 스니펫은 다양한 속성을 가진 새 이메일을 만드는 방법을 보여줍니다.
다중 수신자 지정
MailMessage는 이메일 메시지를 나타냅니다. MailMessage 클래스의 인스턴스는 SmtpClient 클래스를 사용해 SMTP 서버로 전송되는 이메일 메시지를 구성하는 데 사용됩니다. 이 항목에서는 여러 이메일 주소를 지정하는 방법을 보여줍니다. 이메일 주소는 MailMessage 클래스를 사용해 지정할 수 있습니다. MailMessage 클래스에서 사용하는 이메일 주소는 다음과 같습니다:
- To - 수신자 주소는 ‘To’ 필드에 지정합니다. ‘To’ 필드의 수신자는 메시지의 주요 대상이며, 여러 수신자 주소를 지정할 수 있습니다.
- Cc - CC는 "Carbon Copy"(복사) 또는 "Courtesy Copy"(예의 복사)를 의미하며, 이메일을 볼 필요는 있지만 반드시 행동을 취해야 하는 것은 아닌 수신자를 추가할 수 있습니다. 예를 들어 관리자는 물론 대화 내용을 알아야 하는 팀 구성원 등이 있습니다. Aspose.Email를 사용하면 코드에서 CC 주소를 지정할 수 있습니다. 이렇게 하면 자동 이메일이나 특정 주소로 보내는 모든 이메일을 해당 담당자에게 복사할 수 있습니다.
- Bcc - Bcc(Blind Carbon Copy)는 다른 수신자에게 보이지 않게 이메일을 보낼 수 있게 합니다. CC가 주요 수신자가 보는 이메일 정보에 표시되는 반면, Bcc는 표시되지 않습니다. 숨겨진 알림용입니다.
이메일 메시지에 여러 이메일 주소를 지정하려면 다음 단계를 따르세요:
- MailMessage 클래스를 인스턴스화합니다.
- MailMessage 인스턴스를 사용하여 From 및 여러 To, Cc, Bcc 주소를 지정합니다.
- SmtpClient 클래스를 인스턴스화하고 Send 메서드를 사용하여 이메일을 보냅니다.
아래 코드 샘플은 여러 To, CC 및 BCC 주소를 지정하는 방법을 보여줍니다.
이메일 주소를 친숙한 이름으로 변경
아래 프로그래밍 예제는 이메일 메시지의 이메일 주소를 친숙한 이름으로 변경하는 방법을 보여줍니다. 친숙한 이름은 이메일 주소보다 사람에게 더 이해하기 쉬운 이름이며, 예를 들어 js346@domain.com 대신 John Smith와 같이 사용할 수 있습니다. 이메일을 보낼 때 MailMessage 클래스 생성자에서 이메일 주소와 친숙한 이름을 연결할 수 있습니다.
이메일 메시지에서 이메일 주소를 친숙한 이름으로 변경하려면 다음 단계를 따르세요:
- MailMessage 클래스 인스턴스를 만들고 To 및 From 필드에 친숙한 이름과 함께 이메일 주소를 지정합니다.
- MailMessage 인스턴스에서 MailMessage 클래스 생성자를 호출하여 Cc 및 Bcc 이메일 주소와 친숙한 이름을 지정합니다.
- SmtpClient 클래스를 인스턴스화하고 Send 메서드를 사용하여 이메일을 보냅니다.
다음 코드 스니펫은 이메일 주소에 대한 이름을 표시하는 방법을 보여줍니다.
메일 본문 설정
MailMessage 클래스는 이메일 메시지를 나타냅니다. MailMessage 클래스의 인스턴스는 SmtpClient 클래스를 사용해 SMTP 서버로 전달되는 이메일 메시지를 구성하는 데 사용됩니다. 메일 본문은 MailMessage 클래스를 사용해 지정할 수 있습니다. 이메일은 여러 본문을 가질 수 있으며, MailMessage 클래스에는 두 종류의 메일 본문이 있습니다:
- HTML 본문
- 텍스트 본문
HtmlBody와 TextBody 외에도, Aspose.Email에는 메일 본문과 관련된 두 개의 읽기 전용 속성이 추가로 있습니다:
- IsBodyText: 본문이 텍스트인지 여부를 알려줍니다.
- IsBodyHtml: 본문이 HTML인지 일반 텍스트인지 여부를 알려줍니다.
이 문서는 일반 텍스트 또는 HTML 본문을 정의하고, 대체 텍스트를 설정하며, 이메일 본문을 인코딩하는 방법을 보여줍니다.
HTML 본문 설정
HtmlBody는 메시지 본문의 HTML 내용을 지정하는 데 사용됩니다. HtmlBody는 태그 사이에 있어야 합니다. 다음 코드 스니펫은 HTML 본문을 설정하는 방법을 보여줍니다.
대체 텍스트 설정
AlternateView 클래스를 사용하면 이메일 메시지를 다른 형식으로 복제본을 지정할 수 있습니다. 예를 들어 HTML 형태로 메시지를 보낼 경우, HTML을 표시할 수 없는 이메일 리더를 사용하는 수신자를 위해 일반 텍스트 버전을 제공할 수 있습니다. 이 클래스에는 이메일 내용 내 URL을 해석하는 데 사용되는 LinkedResources와 BaseUri 두 속성이 있습니다.
- LinkedResources는 LinkedResources 객체의 컬렉션입니다. 렌더링 시 이메일 내용 내 URL은 먼저 LinkedResources 컬렉션에 있는 각 LinkedResources 객체의 Content Link URL과 매치되어 해석됩니다.
- BaseUri는 메일 리더가 본문 내 상대 URL을 해결하고, LinkedResources 컬렉션의 상대 Content Link URL을 해결하는 데 사용됩니다.
다음 코드 스니펫은 대체 텍스트를 설정하는 방법을 보여줍니다.
MailMessage 기능
다음은 MailMessage class는 이메일 메시지의 내용을 나타냅니다. 인스턴스는 MailMessage class는 SMTP 서버로 전송되어 배달되는 이메일 메시지를 구성하는 데 사용됩니다, using the SmtpClient class. 이 문서에서는 사용 방법을 보여줍니다 MailMessage class 유틸리티 기능은 다음 이메일 기능들을 제어합니다:
- 날짜 및 시간 - Through the MailMessage class Date 속성은 이메일의 날짜와 시간을 가져오거나 설정합니다.
- 메시지 우선순위 - MailPriority 클래스는 이메일 전송 시 우선 순위 수준을 지정합니다. 낮음, 보통, 높음이 있으며, 우선 순위는 전송 속도와 전달에 영향을 줍니다.
- 메시지 민감도 - MailSensitivity 클래스는 다섯 단계의 민감도를 지정합니다.
- 배달 알림 - 배달 알림은 발신자에게 이메일이 수신자의 받은편지함에 전달되었음을 알려줍니다.
기본적으로 날짜는 메시지가 전송된 실제 날짜이며, 시간은 Microsoft Outlook에 표시된 전송 시각입니다. 그러나 실제 이메일 전달 시간은 SMTP 서버가 메일 헤더에 추가합니다. 예를 들어, 아래는 일반적인 메일 헤더이며, 여기서 Date는 Date 필드를 설정합니다.
아래 코드 스니펫은 위에서 논의한 각 기능을 어떻게 사용할 수 있는지 보여줍니다.
수신 확인 요청
아래 프로그래밍 샘플은 읽음 확인을 요청하는 방법을 보여줍니다. The MailMessage 클래스 DeliveryNotificationOptions Enumeration 속성은 이메일에 대한 배달 알림 옵션을 설명합니다. 이메일을 보낸 후 읽음 확인을 요청하려면 다음 단계를 따르세요:
- 다음의 인스턴스를 생성합니다. MailMessage 클래스.
- 이메일의 보낸 사람, 받는 사람 및 HTML 본문을 다음에 지정합니다: MailMessage 인스턴스.
- 지정하세요 DeliveryNotificationOptions 다른 MailMessage 인스턴스.
- 다음의 인스턴스를 생성합니다. SmtpClient 클래스를 사용하고 Send 메서드로 이메일을 보냅니다.
읽음 확인 요청이 항상 허용되지 않을 수 있는 이유는:
- 메일 클라이언트가 해당 기능을 구현하지 않을 수 있습니다.
- 최종 사용자는 해당 기능을 비활성화했을 수 있습니다.
- 최종 사용자는 이를 전송하지 않을 수 있습니다.
다음 코드 스니펫은 읽음 확인 요청 방법을 보여줍니다.
이메일 헤더 설정
이메일 헤더는 인터넷 표준을 나타내며, RFC는 인터넷 이메일 메시지에 포함되는 헤더 필드를 정의합니다. 이메일 헤더는 MailMessage 클래스를 사용해 지정할 수 있습니다. 일반적인 헤더 유형은 HeaderType 클래스에 정의되어 있으며, 이는 일반 열거형처럼 작동하는 sealed 클래스입니다.
일반적으로 이메일 헤더에는 다음 필드가 포함됩니다:
- To: 수신자 주소는 To 필드에 지정할 수 있습니다. To 필드의 수신자는 메시지의 주요 대상이며, 하나 이상일 수 있습니다.
- From: 이 필드는 메시지 발신자의 이메일 주소를 표시합니다.
- Cc: 사용자가 메시지를 "Carbon Copy" 혹은 "Courtesy Copy" 로 보낼 수 있게 합니다. 즉, 수신자는 회신하거나 조치를 취할 필요가 없으며, 보통 감독자에게 알리기 위해 사용됩니다.
- Bcc: Blind Carbon Copy의 약자로, 수신자 목록 전체가 보이지 않게 메시지를 여러 수신자에게 보내는 방식을 의미합니다. 숨겨진 알림을 위해 사용됩니다.
- ReplyTo: 이 헤더 필드는 발신자가 회신을 받고자 하는 주소를 나타냅니다.
- Subject: 제목, 헤딩, 주제. 일반적으로 다른 메시지에 회신하거나 댓글을 달 때 스레드 표시기로 사용됩니다.
- Date: 이 헤더는 날짜(및 시간)를 지정합니다. 일반적으로 메시지가 작성되고 전송된 날짜입니다.
- XMailer: 발신자의 클라이언트 소프트웨어에 대한 정보입니다. 예: X-Mailer: Aspose.Email XMailer는 메일 클라이언트에서 사용됩니다. 클라이언트마다 XMailer 값이 다릅니다. MS Outlook의 XMailer 값은 Microsoft Office Outlook, Build 11.0.5510입니다. 이는 이메일 수신자나 읽는 프로그램에 의해 무시됩니다.
일반적으로 이메일 헤더는 다음과 같이 보입니다:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
이메일 헤더를 사용자 정의하려면 다음 단계를 따르세요:
- 다음의 인스턴스를 생성합니다. MailMessage 클래스.
- 인스턴스를 사용하여 To, From, CC, Bcc, ReplyTo, Subject, Date 및 XMailer를 지정합니다: MailMessage.
- 다음의 인스턴스를 생성합니다. MimeHeader 클래스와 비밀 헤더를 지정합니다.
- 비밀 헤더를 다음에 추가합니다: MailMessage 인스턴스.
다음 코드 스니펫은 이메일 헤더를 설정하는 방법을 보여줍니다.
위의 코드 스니펫은 다음 형식의 이메일 헤더를 생성합니다. 이는 결과 파일 "MsgHeaders.msg"를 Microsoft Outlook에서 열고 속성을 확인하면 확인할 수 있습니다.
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
특정 위치에 헤더 삽입
다음은 추가 메서드 HeadersCollection 클래스는 헤더를 컬렉션 끝에 삽입합니다. 그러나 특정 위치에 헤더를 삽입해야 할 때도 있습니다. 그런 경우에는 추가 메서드로는 도움이 되지 않습니다. 이를 달성하려면 다음을 사용하십시오: Insert 메서드 HeadersCollection. 컬렉션에 같은 이름의 헤더가 포함되어 있으면, 해당 헤더는 같은 이름의 다른 헤더들 앞에 삽입됩니다. 다음 코드 스니펫은 특정 위치에 헤더를 삽입하는 방법을 보여줍니다.
이메일에 사용자 정의 헤더 추가
아래 프로그래밍 예제는 이메일 메시지에 사용자 정의 헤더를 지정하는 방법을 보여줍니다. 이메일 헤더는 다음을 사용해 지정할 수 있습니다: MailMessage 클래스. 이메일 메시지에 사용자 정의 헤더를 지정하려면 다음 단계를 따르세요:
- 다음의 인스턴스를 생성합니다. MailMessage 클래스.
- MailMessage 인스턴스를 사용하여 to, from 및 subject 값을 지정합니다.
- 비밀 헤더를 다음에 추가하십시오: MailMessage 인스턴스.
- SmtpClient 클래스를 인스턴스화하고 Send 메서드를 사용하여 이메일을 보냅니다.
다음 코드 스니펫은 이메일에 사용자 정의 헤더를 추가하는 방법을 보여줍니다.