Attachment コンストラクター

定義

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

オーバーロード

Attachment(String)

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

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

コンテンツの文字列と ContentType を指定して、Attachment クラスの新しいインスタンスを初期化します。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.

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.

public:
 Attachment(System::String ^ fileName);
public Attachment (string fileName);
new System.Net.Mail.Attachment : string -> System.Net.Mail.Attachment
Public Sub New (fileName As String)

パラメーター

fileName
String

この添付ファイルを作成するために使用するファイル パスを含む StringA String that contains a file path to use to create this attachment.

例外

fileNamenull です。fileName is null.

fileName が空です。fileName is empty.

次のコード例は、このコンストラクターを呼び出す方法を示しています。The following code example demonstrates how to call this constructor.

static void CreateMessageInlineAttachment2( String^ server, String^ textMessage )
{
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"A text message for you.",L"Message: " );
   
   // Attach the message string to this email message.
   Attachment^ data = gcnew Attachment( textMessage );
   
   // Send textMessage as part of the email body.
   message->Attachments->Add( data );
   ContentType^ content = data->ContentType;
   content->MediaType = MediaTypeNames::Text::Plain;
   
   //Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
}


public static void CreateMessageInlineAttachment2(string server, string
textMessage)
{
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "jane@contoso.com",
       "ben@contoso.com",
       "A text message for you.",
       "Message: ");

    // Attach the message string to this email message.
    Attachment data = new Attachment(textMessage);
    // Send textMessage as part of the email body.
    message.Attachments.Add(data);
    ContentType content = data.ContentType;
    content.MediaType = MediaTypeNames.Text.Plain;
    //Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageInlineAttachment2: {0}", 
            ex.ToString());
    }
    data.Dispose();
}

注釈

プロパティは次のように設定されます。The properties are set as follows:

プロパティProperty [値]Value
MediaType PlainPlain.
TransferEncoding QuotedPrintableQuotedPrintable.

Attachment(Stream, ContentType)

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

public:
 Attachment(System::IO::Stream ^ contentStream, System::Net::Mime::ContentType ^ contentType);
public Attachment (System.IO.Stream contentStream, System.Net.Mime.ContentType contentType);
new System.Net.Mail.Attachment : System.IO.Stream * System.Net.Mime.ContentType -> System.Net.Mail.Attachment

パラメーター

contentStream
Stream

この添付ファイルのコンテンツを含む読み取り可能な StreamA readable Stream that contains the content for this attachment.

contentType
ContentType

contentStream 内のデータを記述する ContentTypeA ContentType that describes the data in contentStream.

例外

contentTypenullです。contentType is null.

- または --or- contentStreamnull です。contentStream is null.

次のコード例は、このコンストラクターを呼び出す方法を示しています。The following code example demonstrates how to call this constructor.

// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendErrorLog( String^ server, String^ recipientList )
{
   
   // Create a message from logMailer@contoso.com to recipientList.
   MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
   message->Subject = L"Error Log report";
   String^ fileName = L"log.txt";
   
   // Get the file stream for the error log.
   // Requires the System.IO namespace.
   FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   StreamReader^ s = gcnew StreamReader( fs );
   int errors = 0;
   while ( s->ReadLine() != nullptr )
   {
      
      // Process each line from the log file here.
      errors++;
   }

   message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
   
   // Close the stream reader. This also closes the file.
   s->Close();
   
   // Re-open the file at the beginning to make the attachment.
   fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   
   // Make a contentType indicating that the log data
   // that is attached is plain text.
   ContentType^ ct = gcnew ContentType( MediaTypeNames::Text::Plain );
   
   // Attach the log file stream to the email message.
   Attachment^ data = gcnew Attachment( fs,ct );
   ContentDisposition^ disposition = data->ContentDisposition;
   
   // Suggest a file name for the attachment.
   disposition->FileName = String::Format( L"log{0}.txt", DateTime::Now );
   
   // Add the attachment to the message.
   message->Attachments->Add( data );
   
   // Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
   
   // Close the log file.
   fs->Close();
}


// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendErrorLog(string server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The email message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a contentType indicating that the log data
    // that is attached is plain text.
    ContentType ct = new ContentType(MediaTypeNames.Text.Plain);
    // Attach the log file stream to the email message.
    Attachment data = new Attachment(fs, ct);
    ContentDisposition disposition = data.ContentDisposition;
    // Suggest a file name for the attachment.
    disposition.FileName = "log" + DateTime.Now.ToString() + ".txt";
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in SendErrorLog: {0}", 
            ex.ToString());
    }
    data.Dispose();
    // Close the log file.
    fs.Close();
}

注釈

TransferEncoding プロパティが Base64 に設定されている。The TransferEncoding property is set to Base64.

ストリームのCanSeekプロパティがfalseの場合MailMessage 、添付ファイルとそれを含むが再利用できません。If the stream's CanSeek property is false, the attachment and the MailMessage that contains it are not reusable. 添付ファイルを再利用するために検索できるストリームを指定する必要があります。You must supply a stream that can be searched to reuse an attachment.

Attachment(Stream, String)

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

public:
 Attachment(System::IO::Stream ^ contentStream, System::String ^ name);
public Attachment (System.IO.Stream contentStream, string name);
new System.Net.Mail.Attachment : System.IO.Stream * string -> System.Net.Mail.Attachment
Public Sub New (contentStream As Stream, name As String)

パラメーター

contentStream
Stream

この添付ファイルのコンテンツを含む読み取り可能な StreamA readable Stream that contains the content for this attachment.

name
String

この添付ファイルに関連付けられている ContentTypeName プロパティの値を含む StringA String that contains the value for the Name property of the ContentType associated with this attachment. この値は、null の場合もあります。This value can be null.

例外

contentStreamnullです。contentStream is null.

次のコード例は、このコンストラクターを呼び出す方法を示しています。The following code example demonstrates how to call this constructor.

// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendNamedErrorLog( String^ server, String^ recipientList )
{
   
   // Create a message from logMailer@contoso.com to recipientList.
   MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
   message->Subject = L"Error Log report";
   String^ fileName = L"log.txt";
   
   // Get the file stream for the error log.
   // Requires the System.IO namespace.
   FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   StreamReader^ s = gcnew StreamReader( fs );
   int errors = 0;
   while ( s->ReadLine() != nullptr )
   {
      
      // Process each line from the log file here.
      errors++;
   }

   message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
   
   // Close the stream reader. This also closes the file.
   s->Close();
   
   // Re-open the file at the beginning to make the attachment.
   fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   
   // Make a ContentType indicating that the log data
   // that is attached is plain text and is named.
   ContentType^ ct = gcnew ContentType;
   ct->MediaType = MediaTypeNames::Text::Plain;
   ct->Name = String::Format( L"log{0}.txt", DateTime::Now );
   
   // Create the attachment.
   Attachment^ data = gcnew Attachment( fs,ct );
   
   // Add the attachment to the message.
   message->Attachments->Add( data );
   
   // Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
   
   // Close the log file.
   fs->Close();
   return;
}


// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendNamedErrorLog(string server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The email message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Make a ContentType indicating that the log data
    // that is attached is plain text and is named.
    ContentType ct = new ContentType();
    ct.MediaType = MediaTypeNames.Text.Plain;
    ct.Name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment.
    Attachment data = new Attachment(fs, ct);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in SendNamedErrorLog: {0}", 
            ex.ToString());
    }
    data.Dispose();
    // Close the log file.
    fs.Close();
    return;
}

注釈

name String.Empty name Nameが ("") 以下の場合、 ContentTypeこの添付ファイルのは、プロパティがに設定されて構築されます。 nullIf name is not null or equal to String.Empty (""), the ContentType for this attachment is constructed with the Name property set to name. TransferEncoding プロパティが Base64 に設定されている。The TransferEncoding property is set to Base64.

ストリームのCanSeekプロパティがfalseの場合MailMessage 、添付ファイルとそれを含むが再利用できません。If the stream's CanSeek property is false, the attachment and the MailMessage that contains it are not reusable. 添付ファイルを再利用するために、検索できるストリームを指定する必要があります。You must supply a stream that can be searched in order to reuse an attachment.

Attachment(String, ContentType)

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

public:
 Attachment(System::String ^ fileName, System::Net::Mime::ContentType ^ contentType);
public Attachment (string fileName, System.Net.Mime.ContentType contentType);
new System.Net.Mail.Attachment : string * System.Net.Mime.ContentType -> System.Net.Mail.Attachment

パラメーター

fileName
String

この添付ファイルを作成するために使用するファイル パスを含む StringA String that contains a file path to use to create this attachment.

contentType
ContentType

fileName 内のデータを記述する ContentTypeA ContentType that describes the data in fileName.

例外

fileNamenull です。fileName is null.

mediaType が正しい形式ではありません。mediaType is not in the correct format.

Attachment(String, String)

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

public:
 Attachment(System::String ^ fileName, System::String ^ mediaType);
public Attachment (string fileName, string mediaType);
new System.Net.Mail.Attachment : string * string -> System.Net.Mail.Attachment
Public Sub New (fileName As String, mediaType As String)

パラメーター

fileName
String

この添付ファイルのコンテンツを含む StringA String that contains the content for this attachment.

mediaType
String

この添付ファイルの MIME コンテンツ ヘッダー情報を含む StringA String that contains the MIME Content-Header information for this attachment. この値は、null の場合もあります。This value can be null.

例外

fileNamenullです。fileName is null.

mediaType が正しい形式ではありません。mediaType is not in the correct format.

次のコード例は、このコンストラクターを呼び出す方法を示しています。The following code example demonstrates how to call this constructor.

static void CreateMessageInlineAttachment( String^ server, String^ textMessage )
{
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"An inline text message for you.",L"Message: " );
   
   // Attach the message string to this email message.
   Attachment^ data = gcnew Attachment( textMessage,MediaTypeNames::Text::Plain );
   
   // Send textMessage as part of the email body.
   message->Attachments->Add( data );
   ContentDisposition^ disposition = data->ContentDisposition;
   disposition->Inline = true;
   
   //Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
}


public static void CreateMessageInlineAttachment(string server, string
textMessage)
{
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "jane@contoso.com",
       "ben@contoso.com",
       "An inline text message for you.",
       "Message: ");

    // Attach the message string to this email message.
    Attachment data = new Attachment(textMessage, MediaTypeNames.Text.Plain);
    // Send textMessage as part of the email body.
    message.Attachments.Add(data);
    ContentDisposition disposition = data.ContentDisposition;
    disposition.Inline = true;
    //Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageInlineAttachment: {0}", 
            ex.ToString());
    }
    data.Dispose();
}

注釈

mediaType 以下null MediaType Plain("") の場合、この添付ファイルのプロパティはに設定されます。 String.EmptyIf mediaType is null or equal to String.Empty (""), the MediaType property for this attachment is set to Plain. mediaTypeではnullなく、長さがゼロの文字列でない場合は、この添付ファイルContentTypeに関連付けられているを構築するために使用されます。If mediaType is not null and is not a zero-length string, it is used to construct the ContentType associated with this attachment.

Attachment(Stream, String, String)

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

public:
 Attachment(System::IO::Stream ^ contentStream, System::String ^ name, System::String ^ mediaType);
public Attachment (System.IO.Stream contentStream, string name, string mediaType);
new System.Net.Mail.Attachment : System.IO.Stream * string * string -> System.Net.Mail.Attachment
Public Sub New (contentStream As Stream, name As String, mediaType As String)

パラメーター

contentStream
Stream

この添付ファイルのコンテンツを含む読み取り可能な StreamA readable Stream that contains the content for this attachment.

name
String

この添付ファイルに関連付けられている ContentTypeName プロパティの値を含む StringA String that contains the value for the Name property of the ContentType associated with this attachment. この値は、null の場合もあります。This value can be null.

mediaType
String

この添付ファイルの MIME コンテンツ ヘッダー情報を含む StringA String that contains the MIME Content-Header information for this attachment. この値は、null の場合もあります。This value can be null.

例外

streamnullです。stream is null.

mediaType が正しい形式ではありません。mediaType is not in the correct format.

次のコード例は、このコンストラクターを呼び出す方法を示しています。The following code example demonstrates how to call this constructor.

// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendNamedAndTypedErrorLog( String^ server, String^ recipientList )
{
   
   // Create a message from logMailer@contoso.com to recipientList.
   MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
   message->Subject = L"Error Log report";
   String^ fileName = L"log.txt";
   
   // Get the file stream for the error log.
   // Requires the System.IO namespace.
   FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   StreamReader^ s = gcnew StreamReader( fs );
   int errors = 0;
   while ( s->ReadLine() != nullptr )
   {
      
      // Process each line from the log file here.
      errors++;
   }

   message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
   
   // Close the stream reader. This also closes the file.
   s->Close();
   
   // Re-open the file at the beginning to make the attachment.
   fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
   
   // Create a name for the log data file.
   String^ name = String::Format( L"log{0}.txt", DateTime::Now );
   
   // Create the attachment, name it, and specify the MIME type.
   Attachment^ data = gcnew Attachment( fs,name,MediaTypeNames::Text::Plain );
   
   // Add the attachment to the message.
   message->Attachments->Add( data );
   
   // Send the message.
   // Include credentials if the server requires them.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   data->~Attachment();
   client->~SmtpClient();
   
   // Close the log file.
   fs->Close();
}


// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendNamedAndTypedErrorLog(string server, string recipientList)
{
    // Create a message from logMailer@contoso.com to recipientList.
    MailMessage message = new MailMessage(
       "logMailer@contoso.com", recipientList);

    message.Subject = "Error Log report";
    string fileName = "log.txt";
    // Get the file stream for the error log.
    // Requires the System.IO namespace.
    FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    StreamReader s = new StreamReader(fs);
    int errors = 0;
    while (s.ReadLine() != null)
    {
        // Process each line from the log file here.
        errors++;
    }
    // The email message summarizes the data found in the log.
    message.Body = String.Format("{0} errors in log as of {1}",
        errors, DateTime.Now);
    // Close the stream reader. This also closes the file.
    s.Close();
    // Re-open the file at the beginning to make the attachment.
    fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
    // Create a name for the log data file.
    string name = "log" + DateTime.Now.ToString() + ".txt";
    // Create the attachment, name it, and specify the MIME type.
    Attachment data = new Attachment(fs, name, MediaTypeNames.Text.Plain);
    // Add the attachment to the message.
    message.Attachments.Add(data);
    // Send the message.
    // Include credentials if the server requires them.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in SendNamedAndTypedErrorLog: {0}", 
            ex.ToString());
    }
    data.Dispose();
    // Close the log file.
    fs.Close();
}

注釈

mediaType String.Emptyが (" "ContentType ) 以下の場合は、この添付ファイルに関連付けられているクラスを構築するために使用されます。 nullIf mediaType is not null or equal to String.Empty (""), it is used to construct the ContentType class associated with this attachment.

mediaTypename両方にName情報が含まれているname場合は、に指定された値が使用されます。If mediaType and name both contain Name information, the value specified in name is used. TransferEncoding プロパティが Base64 に設定されている。The TransferEncoding property is set to Base64.

ストリームのCanSeekプロパティがfalseの場合MailMessage 、添付ファイルとそれを含むが再利用できません。If the stream's CanSeek property is false, the attachment and the MailMessage that contains it are not reusable. 添付ファイルを再利用するために、検索できるストリームを指定する必要があります。You must supply a stream that can be searched in order to reuse an attachment.

適用対象