Attachment クラス

定義

電子メールの添付ファイルを表します。Represents an attachment to an email.

public ref class Attachment : System::Net::Mail::AttachmentBase
public class Attachment : System.Net.Mail.AttachmentBase
type Attachment = class
    inherit AttachmentBase
Public Class Attachment
Inherits AttachmentBase
継承
Attachment

次のコード例は、電子メールメッセージにファイルを添付する方法を示しています。The following code example demonstrates attaching a file to an email message.

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();
}

注釈

Attachment クラスは、MailMessage クラスと共に使用されます。The Attachment class is used with the MailMessage class. すべてのメッセージには、メッセージの内容を含む Bodyが含まれます。All messages include a Body, which contains the content of the message. 本文に加えて、追加のファイルを送信することもできます。In addition to the body, you might want to send additional files. これらは添付ファイルとして送信され、Attachment インスタンスとして表されます。These are sent as attachments and are represented as Attachment instances. メールメッセージに添付ファイルを追加するには、それを MailMessage.Attachments コレクションに追加します。To add an attachment to a mail message, add it to the MailMessage.Attachments collection.

添付ファイルの内容には、StringStream、またはファイル名を指定できます。Attachment content can be a String, Stream, or file name. 任意の Attachment コンストラクターを使用して、添付ファイル内のコンテンツを指定できます。You can specify the content in an attachment by using any of the Attachment constructors.

添付ファイルの MIME Content-type ヘッダー情報は、ContentType プロパティによって表されます。The MIME Content-Type header information for the attachment is represented by the ContentType property. Content-type ヘッダーは、メディアの種類とサブタイプ、および関連付けられているすべてのパラメーターを指定します。The Content-Type header specifies the media type and subtype and any associated parameters. ContentType を使用して、添付ファイルに関連付けられているインスタンスを取得します。Use ContentType to get the instance associated with an attachment.

MIME コンテンツの廃棄ヘッダーは、ContentDisposition プロパティによって表されます。The MIME Content-Disposition header is represented by the ContentDisposition property. コンテンツの廃棄ヘッダーは、添付ファイルのプレゼンテーションとファイルのタイムスタンプを指定します。The Content-Disposition header specifies the presentation and file time stamps for an attachment. コンテンツディスポジションヘッダーは、添付ファイルがファイルの場合にのみ送信されます。A Content-Disposition header is sent only if the attachment is a file. ContentDisposition プロパティを使用して、添付ファイルに関連付けられているインスタンスを取得します。Use the ContentDisposition property to get the instance associated with an attachment.

MIME コンテンツ転送エンコードヘッダーは、TransferEncoding プロパティによって表されます。The MIME Content-Transfer-Encoding header is represented by the TransferEncoding property.

コンストラクター

Attachment(Stream, ContentType)

ストリームとコンテンツ タイプを指定して、Attachment クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified stream and content type.

Attachment(Stream, String)

ストリームと名前を指定して、Attachment クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified stream and name.

Attachment(Stream, String, String)

ストリーム、名前、MIME タイプの情報を指定して、Attachment クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified stream, name, and MIME type information.

Attachment(String)

コンテンツの文字列を指定して、Attachment クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified content string.

Attachment(String, ContentType)

コンテンツの文字列と Attachment を指定して、ContentType クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified content string and ContentType.

Attachment(String, String)

コンテンツの文字列と MIME タイプの情報を指定して、Attachment クラスの新しいインスタンスを初期化します。Initializes a new instance of the Attachment class with the specified content string and MIME type information.

プロパティ

ContentDisposition

この添付ファイルの MIME コンテンツ配置を取得します。Gets the MIME content disposition for this attachment.

ContentId

この添付ファイルの MIME コンテンツ ID を取得または設定します。Gets or sets the MIME content ID for this attachment.

(継承元 AttachmentBase)
ContentStream

この添付ファイルのコンテンツ ストリームを取得します。Gets the content stream of this attachment.

(継承元 AttachmentBase)
ContentType

この添付ファイルのコンテンツ タイプを取得します。Gets the content type of this attachment.

(継承元 AttachmentBase)
Name

この添付ファイルに関連付けられているコンテンツ タイプの MIME コンテンツ タイプ名の値を取得または設定します。Gets or sets the MIME content type name value in the content type associated with this attachment.

NameEncoding

AttachmentName のエンコーディングを指定します。Specifies the encoding for the AttachmentName.

TransferEncoding

この添付ファイルのエンコーディングを取得または設定します。Gets or sets the encoding of this attachment.

(継承元 AttachmentBase)

メソッド

CreateAttachmentFromString(String, ContentType)

指定した文字列のコンテンツと指定した ContentType を使用して、電子メールの添付ファイルを作成します。Creates a mail attachment using the content from the specified string, and the specified ContentType.

CreateAttachmentFromString(String, String)

指定した文字列のコンテンツと指定した MIME コンテンツ タイプ名を使用して、電子メールの添付ファイルを作成します。Creates a mail attachment using the content from the specified string, and the specified MIME content type name.

CreateAttachmentFromString(String, String, Encoding, String)

指定した文字列のコンテンツ、指定した MIME コンテンツ タイプ名、文字エンコーディング、添付ファイルの MIME ヘッダー情報を使用して、電子メールの添付ファイルを作成します。Creates a mail attachment using the content from the specified string, the specified MIME content type name, character encoding, and MIME header information for the attachment.

Dispose()

AttachmentBase で使用したリソースを解放します。Releases the resources used by the AttachmentBase.

(継承元 AttachmentBase)
Dispose(Boolean)

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

(継承元 AttachmentBase)
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()

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

(継承元 Object)

適用対象