MailMessage 클래스

정의

SmtpClient 클래스를 사용하여 보낼 수 있는 이메일 메시지를 나타냅니다.Represents an email message that can be sent using the SmtpClient class.

public ref class MailMessage : IDisposable
public class MailMessage : IDisposable
type MailMessage = class
    interface IDisposable
Public Class MailMessage
Implements IDisposable
상속
MailMessage
구현

예제

다음 코드 예제에서는 첨부 파일이 포함 된 전자 메일 메시지를 만들고 보내는 방법을 보여 줍니다.The following code example demonstrates creating and sending an email message that includes an attachment.

static void CreateMessageWithAttachment( String^ server )
{
   
   // Specify the file to be attached and sent.
   // This example assumes that a file named Data.xls exists in the
   // current working directory.
   String^ file = L"data.xls";
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"Quarterly data report.",L"See the attached spreadsheet." );
   
   // Create  the file attachment for this email message.
   Attachment^ data = gcnew Attachment(file, MediaTypeNames::Application::Octet);
   
   // Add time stamp information for the file.
   ContentDisposition^ disposition = data->ContentDisposition;
   disposition->CreationDate = System::IO::File::GetCreationTime( file );
   disposition->ModificationDate = System::IO::File::GetLastWriteTime( file );
   disposition->ReadDate = System::IO::File::GetLastAccessTime( file );
   
   // Add the file attachment to this email message.
   message->Attachments->Add( data );
   
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   
   // Add credentials if the SMTP server requires them.
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   
   // Display the values in the ContentDisposition for the attachment.
   ContentDisposition^ cd = data->ContentDisposition;
   Console::WriteLine( L"Content disposition" );
   Console::WriteLine( cd );
   Console::WriteLine( L"File {0}", cd->FileName );
   Console::WriteLine( L"Size {0}", cd->Size );
   Console::WriteLine( L"Creation {0}", cd->CreationDate );
   Console::WriteLine( L"Modification {0}", cd->ModificationDate );
   Console::WriteLine( L"Read {0}", cd->ReadDate );
   Console::WriteLine( L"Inline {0}", cd->Inline );
   Console::WriteLine( L"Parameters: {0}", cd->Parameters->Count );
   IEnumerator^ myEnum1 = cd->Parameters->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum1->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
   }

   data->~Attachment();
   client->~SmtpClient();
}


public static void CreateMessageWithAttachment(string server)
{
    // Specify the file to be attached and sent.
    // This example assumes that a file named Data.xls exists in the
    // current working directory.
    string file = "data.xls";
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
        "jane@contoso.com",
        "ben@contoso.com",
        "Quarterly data report.",
        "See the attached spreadsheet.");

    // Create  the file attachment for this email message.
    Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
    // Add time stamp information for the file.
    ContentDisposition disposition = data.ContentDisposition;
    disposition.CreationDate = System.IO.File.GetCreationTime(file);
    disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);
    disposition.ReadDate = System.IO.File.GetLastAccessTime(file);
    // Add the file attachment to this email message.
    message.Attachments.Add(data);

    //Send the message.
    SmtpClient client = new SmtpClient(server);
    // Add credentials if the SMTP server requires them.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}", 
            ex.ToString());
    }
    // Display the values in the ContentDisposition for the attachment.
    ContentDisposition cd = data.ContentDisposition;
    Console.WriteLine("Content disposition");
    Console.WriteLine(cd.ToString());
    Console.WriteLine("File {0}", cd.FileName);
    Console.WriteLine("Size {0}", cd.Size);
    Console.WriteLine("Creation {0}", cd.CreationDate);
    Console.WriteLine("Modification {0}", cd.ModificationDate);
    Console.WriteLine("Read {0}", cd.ReadDate);
    Console.WriteLine("Inline {0}", cd.Inline);
    Console.WriteLine("Parameters: {0}", cd.Parameters.Count);
    foreach (DictionaryEntry d in cd.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    data.Dispose();
}

설명

MailMessage 클래스의 인스턴스는 SmtpClient 클래스를 사용 하 여 배달 하기 위해 SMTP 서버로 전송 되는 전자 메일 메시지를 생성 하는 데 사용 됩니다.Instances of the MailMessage class are used to construct email messages that are transmitted to an SMTP server for delivery using the SmtpClient class.

MailMessage를 사용 하 여 MailMessage 개체를 초기화할 때 전자 메일 메시지의 보낸 사람, 받는 사람, 제목 및 본문을 매개 변수로 지정할 수 있습니다.The sender, recipient, subject, and body of an email message may be specified as parameters when a MailMessage is used to initialize a MailMessage object. 이러한 매개 변수는 MailMessage 개체의 속성을 사용 하 여 설정 하거나 액세스할 수도 있습니다.These parameters may also be set or accessed using properties on the MailMessage object.

메시지의 기본 메일 메시지 헤더와 요소는 MailMessage 클래스의 다음 속성을 사용 하 여 설정할 수 있습니다.The primary mail message headers and elements for the message may be set using the following properties of the MailMessage class.

메일 머리글 또는 파트Mail header or part 속성Property
첨부 파일Attachments Attachments
Bcc (숨은 참조)Blind carbon copies (BCC) Bcc
CC (참조)Carbon copies (CC) CC
Content-TypeContent-Type BodyEncoding
사용자 지정 헤더에 대 한 인코딩Encoding for custom headers HeadersEncoding
메시지 본문Message body Body
우선 순위Priority Priority
수신자Recipient To
회신 대상Reply-To ReplyToList
으로부터Sender From
제목Subject Subject

합니다 MailMessage 클래스에서는 사용 하 여 메시지 헤더 컬렉션에 액세스 하려면 애플리케이션을 Headers 속성입니다.The MailMessage class also allows an application to access the headers collection for the message using the Headers property. 이 컬렉션은 읽기 전용 이지만 (새 컬렉션을 설정할 수 없음)이 컬렉션에서 사용자 지정 헤더를 추가 하거나 삭제할 수 있습니다.While this collection is read-only (a new collection can not be set), custom headers can be added to or deleted from this collection. MailMessage 인스턴스를 보낼 때 추가 된 사용자 지정 헤더가 포함 됩니다.Any custom headers added will be included when the MailMessage instance is sent. 메시지를 보내기 전에 Headers 속성의이 컬렉션에 특별히 추가 된 헤더만 컬렉션에 포함 됩니다.Before a message is sent, only headers specifically added to this collection in the Headers property are included in the collection. MailMessage 인스턴스를 보낸 후 Headers 속성에는 MailMessage 클래스의 관련 속성을 사용 하 여 설정 된 헤더 또는 MailMessage를 사용 하 여 MailMessage 개체를 초기화할 때 전달 되는 매개 변수가 포함 됩니다.After a the MailMessage instance is sent, the Headers property will also include headers that are set using the associated properties of the MailMessage class or parameters passed when a MailMessage is used to initialize a MailMessage object.

일부 메일 헤더의 형식이 잘못 된 경우 메일 메시지를 손상 시킬 수 있습니다.If some mail headers are malformed, they could cause the email message to become corrupted. 따라서 MailMessage 클래스에서 속성을 사용 하 여 설정할 수 있는 헤더 컬렉션의 모든 메일 헤더는 MailMessage MailMessage 개체를 초기화할 때 전달 되는 매개 변수 또는 MailMessage 클래스 속성만 사용 하 여 설정 해야 합니다.So any mail header in the headers collection that can be set using a property on the MailMessage class should only be set using the MailMessage class property or as a parameter passed when a MailMessage initializes a MailMessage object. 다음 메일 헤더 목록은 Headers 속성을 사용 하 여 추가 하면 안 됩니다. Headers 속성을 사용 하 여 이러한 헤더에 대해 설정 된 값은 메시지를 보낼 때 삭제 되거나 덮어쓰여집니다.The following list of mail headers should not be added using the Headers property and any values set for these headers using the Headers property will be discarded or overwritten when the message is sent:

  • 숨은Bcc

  • 참조Cc

  • 콘텐츠-IDContent-ID

  • 콘텐츠-위치Content-Location

  • 콘텐츠 전송-인코딩Content-Transfer-Encoding

  • Content-TypeContent-Type

  • 날짜Date

  • 시작From

  • 중요도Importance

  • MIME-버전MIME-Version

  • 우선 순위Priority

  • 회신 대상Reply-To

  • 으로부터Sender

  • 대상To

  • X 우선 순위X-Priority

애플리케이션이 사용 하 여 X-보낸 사람 헤더를 지정 하지 않은 경우는 Headers 속성을 MailMessage 클래스 만들어집니다 메시지를 보낼 때.If the application does not specify an X-Sender header using the Headers property, the MailMessage class will create one when the message is sent.

사용 된 AlternateViews 다양 한 형식의 전자 메일 메시지의 복사본을 지정 하는 속성입니다.Use the AlternateViews property to specify copies of an email message in different formats. 예를 들어 HTML로 메시지를 보내는 경우 일부 수신자가 HTML 콘텐츠를 표시할 수 없는 전자 메일 판독기를 사용 하는 경우 일반 텍스트 버전을 제공할 수도 있습니다.For example, if you send a message in HTML, you might also want to provide a plain text version in case some of the recipients use email readers that cannot display HTML content. 대체 뷰로 메시지를 만드는 방법을 보여 주는 예제는 AlternateViews를 참조 하세요.For an example that demonstrates creating a message with alternate views, see AlternateViews.

Attachments 속성을 사용 하 여 첨부 파일을 전자 메일 메시지에 추가 합니다.Use the Attachments property to add attachments to an email message. 첨부 파일을 사용 하 여 메시지를 만드는 방법을 보여 주는 예제는 Attachments를 참조 하세요.For an example that demonstrates creating a message with an attachment, see Attachments. Send-mailmessage에서 Dispose를 호출 하면 참조 되는 각 첨부 파일에 대해서도 Dispose를 호출 합니다.Calling Dispose on the MailMessage also calls Dispose on each referenced Attachment.

전자 메일 메시지를 어셈블한 후 Send 또는 SendAsync 방법을 사용 하 여 보낼 수 있습니다.After assembling your email message, you can send it by using the Send or SendAsync methods.

생성자

MailMessage()

MailMessage 클래스의 빈 인스턴스를 초기화합니다.Initializes an empty instance of the MailMessage class.

MailMessage(MailAddress, MailAddress)

지정된 MailMessage 클래스 개체를 사용하여 MailAddress 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the MailMessage class by using the specified MailAddress class objects.

MailMessage(String, String)

지정된 MailMessage 클래스 개체를 사용하여 String 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the MailMessage class by using the specified String class objects.

MailMessage(String, String, String, String)

MailMessage 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the MailMessage class.

속성

AlternateViews

메시지 본문의 대체 형식을 저장하는 데 사용되는 첨부 파일 컬렉션을 가져옵니다.Gets the attachment collection used to store alternate forms of the message body.

Attachments

이 이메일 메시지에 첨부된 데이터를 저장하는 데 사용되는 첨부 파일 컬렉션을 가져옵니다.Gets the attachment collection used to store data attached to this email message.

Bcc

이 이메일 메시지의 BCC(숨은 참조) 받는 사람이 들어 있는 주소 컬렉션을 가져옵니다.Gets the address collection that contains the blind carbon copy (BCC) recipients for this email message.

Body

메시지 본문을 가져오거나 설정합니다.Gets or sets the message body.

BodyEncoding

메시지 본문을 인코딩하는 데 사용되는 인코딩을 가져오거나 설정합니다.Gets or sets the encoding used to encode the message body.

BodyTransferEncoding

메시지 본문을 인코딩하는 데 사용되는 전송 인코딩을 가져오거나 설정합니다.Gets or sets the transfer encoding used to encode the message body.

CC

이 이메일 메시지의 CC(참조) 받는 사람이 들어 있는 주소 컬렉션을 가져옵니다.Gets the address collection that contains the carbon copy (CC) recipients for this email message.

DeliveryNotificationOptions

이 이메일 메시지의 배달 알림을 가져오거나 설정합니다.Gets or sets the delivery notifications for this email message.

From

이 이메일 메시지의 보낸 사람 주소를 가져오거나 설정합니다.Gets or sets the from address for this email message.

Headers

이 이메일 메시지와 함께 전송되는 이메일 헤더를 가져옵니다.Gets the email headers that are transmitted with this email message.

HeadersEncoding

이 이메일 메시지의 사용자 정의된 사용자 지정 헤더에 사용되는 인코딩을 가져오거나 설정합니다.Gets or sets the encoding used for the user-defined custom headers for this email message.

IsBodyHtml

전자 메일 메시지 본문의 형식이 HTML인지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the mail message body is in HTML.

Priority

이 이메일 메시지의 우선 순위를 가져오거나 설정합니다.Gets or sets the priority of this email message.

ReplyTo

전자 메일 메시지의 회신 주소를 가져오거나 설정합니다.Gets or sets the ReplyTo address for the mail message.

ReplyToList

메일 메시지의 회신 주소 목록을 가져옵니다.Gets the list of addresses to reply to for the mail message.

Sender

이 이메일 메시지의 보낸 사람 주소를 가져오거나 설정합니다.Gets or sets the sender's address for this email message.

Subject

이 이메일 메시지의 제목 줄을 가져오거나 설정합니다.Gets or sets the subject line for this email message.

SubjectEncoding

이 이메일 메시지의 제목 내용에 사용되는 인코딩을 가져오거나 설정합니다.Gets or sets the encoding used for the subject content for this email message.

To

이 이메일 메시지의 받는 사람이 들어 있는 주소 컬렉션을 가져옵니다.Gets the address collection that contains the recipients of this email message.

메서드

Dispose()

MailMessage에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the MailMessage.

Dispose(Boolean)

MailMessage에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the MailMessage and optionally releases the managed resources.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상