MailMessage MailMessage MailMessage MailMessage Class

定義

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
継承
MailMessageMailMessageMailMessageMailMessage
実装

次のコード例は、添付ファイルを含む電子メールメッセージを作成して送信する方法を示しています。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
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インスタンスが送信されると、プロパティには、を使用してオブジェクトを初期化するときに渡されるクラスの関連プロパティを使用して設定されるヘッダーも含まれます。 MailMessageAfter 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:

  • BccBcc

  • CcCc

  • Content-IDContent-ID

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

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

  • Content-TypeContent-Type

  • DateDate

  • FromFrom

  • 重要度Importance

  • MIME-バージョンMIME-Version

  • 優先度Priority

  • 返信先Reply-To

  • センダーSender

  • 終了To

  • X-優先順位X-Priority

アプリケーションで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() 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.

プロパティ

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.

メソッド

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)

適用対象