MailMessage MailMessage MailMessage MailMessage Class

Definition

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
Inheritance
MailMessageMailMessageMailMessageMailMessage
Implements

Examples

次のコード例を作成して、添付ファイルを含む電子メール メッセージを送信することを示します。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();
}

Remarks

インスタンス、MailMessageクラスが配信を使用するための SMTP サーバーに送信される電子メール メッセージの構築に使用される、SmtpClientクラス。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
AttachmentsAttachments 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
SubjectSubject 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]Bcc

  • CcCc

  • Content-IDContent-ID

  • コンテンツの場所Content-Location

  • コンテンツ転送エンコードContent-Transfer-Encoding

  • Content-TypeContent-Type

  • 日付Date

  • FromFrom

  • 重要度Importance

  • MIME バージョンMIME-Version

  • 優先度Priority

  • 返信先Reply-To

  • 送信者Sender

  • 終了To

  • 優先順位の XX-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またはSendAsyncメソッド。After assembling your email message, you can send it by using the Send or SendAsync methods.

Constructors

MailMessage() MailMessage() MailMessage() MailMessage()

MailMessage クラスの空のインスタンスを初期化します。 Initializes an empty instance of the MailMessage class.

MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) MailMessage(MailAddress, MailAddress) 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, String) MailMessage(String, String) 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(String, String, String, String) MailMessage(String, String, String, String) MailMessage(String, String, String, String)

MailMessage クラスの新しいインスタンスを初期化します。 Initializes a new instance of the MailMessage class.

Properties

AlternateViews AlternateViews AlternateViews AlternateViews

メッセージ本文の別形式の表示内容を格納するために使用する添付データのコレクションを取得します。 Gets the attachment collection used to store alternate forms of the message body.

Attachments Attachments Attachments Attachments

この電子メール メッセージに添付されるデータを格納するために使用する添付データのコレクションを取得します。 Gets the attachment collection used to store data attached to this email message.

Bcc Bcc Bcc Bcc

この電子メール メッセージの BCC (blind carbon copy) 受信者を格納するアドレスのコレクションを取得します。 Gets the address collection that contains the blind carbon copy (BCC) recipients for this email message.

Body Body Body Body

メッセージ本文を取得または設定します。 Gets or sets the message body.

BodyEncoding BodyEncoding BodyEncoding BodyEncoding

メッセージ本文をエンコードするために使用されるエンコーディングを取得または設定します。 Gets or sets the encoding used to encode the message body.

BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding BodyTransferEncoding

メッセージ本文をエンコードするために使用される転送エンコーディングを取得または設定します。 Gets or sets the transfer encoding used to encode the message body.

CC CC CC CC

この電子メール メッセージの CC (carbon copy) 受信者を格納するアドレスのコレクションを取得します。 Gets the address collection that contains the carbon copy (CC) recipients for this email message.

DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions DeliveryNotificationOptions

この電子メールの配信通知を取得または設定します。 Gets or sets the delivery notifications for this email message.

From From From From

この電子メールの差出人アドレスを取得または設定します。 Gets or sets the from address for this email message.

Headers Headers Headers Headers

この電子メール メッセージで送信される電子メール ヘッダーを取得します。 Gets the email headers that are transmitted with this email message.

HeadersEncoding HeadersEncoding HeadersEncoding HeadersEncoding

この電子メール メッセージのユーザー定義のカスタム ヘッダーに使用されるエンコーディングを取得または設定します。 Gets or sets the encoding used for the user-defined custom headers for this email message.

IsBodyHtml IsBodyHtml IsBodyHtml IsBodyHtml

電子メール メッセージの本文が HTML 形式かどうかを示す値を取得または設定します。 Gets or sets a value indicating whether the mail message body is in HTML.

Priority Priority Priority Priority

この電子メールの優先順位を取得または設定します。 Gets or sets the priority of this email message.

ReplyTo ReplyTo ReplyTo ReplyTo

電子メール メッセージの ReplyTo アドレスを取得または設定します。 Gets or sets the ReplyTo address for the mail message.

ReplyToList ReplyToList ReplyToList ReplyToList

電子メール メッセージの返信先のアドレスの一覧を取得します。 Gets the list of addresses to reply to for the mail message.

Sender Sender Sender Sender

この電子メール メッセージの差出人のアドレスを取得または設定します。 Gets or sets the sender's address for this email message.

Subject Subject Subject Subject

この電子メールの件名を取得または設定します。 Gets or sets the subject line for this email message.

SubjectEncoding SubjectEncoding SubjectEncoding SubjectEncoding

この電子メール メッセージの件名の内容に使用されるエンコーディングを取得または設定します。 Gets or sets the encoding used for the subject content for this email message.

To To To To

この電子メール メッセージの受信者を格納するアドレスのコレクションを取得します。 Gets the address collection that contains the recipients of this email message.

Methods

Dispose() Dispose() Dispose() Dispose()

MailMessage によって使用されているすべてのリソースを解放します。 Releases all resources used by the MailMessage.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

MailMessage によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 Releases the unmanaged resources used by the MailMessage and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。 Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。 Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。 Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。 Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。 Returns a string that represents the current object.

(Inherited from Object)

Applies to