Sdílet prostřednictvím


Attachment Konstruktory

Definice

Inicializuje novou instanci Attachment třídy.

Přetížení

Attachment(String)

Inicializuje novou instanci Attachment třídy se zadaným řetězcem obsahu.

Attachment(Stream, ContentType)

Inicializuje novou instanci třídy Attachment se zadaným datovým proudem a typem obsahu.

Attachment(Stream, String)

Inicializuje novou instanci Attachment třídy se zadaným datovým proudem a názvem.

Attachment(String, ContentType)

Inicializuje novou instanci třídy Attachment se zadaným řetězcem obsahu a ContentType.

Attachment(String, String)

Inicializuje novou instanci Attachment třídy se zadaným řetězcem obsahu a informacemi o typu MIME.

Attachment(Stream, String, String)

Inicializuje novou instanci Attachment třídy se zadaným datovým proudem, názvem a informacemi o typu MIME.

Attachment(String)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci Attachment třídy se zadaným řetězcem obsahu.

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)

Parametry

fileName
String

String obsahující cestu k souboru, která se má použít k vytvoření této přílohy.

Výjimky

fileName je null.

fileName je prázdný.

Příklady

Následující příklad kódu ukazuje, jak volat tento konstruktor.

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

Poznámky

Vlastnosti jsou nastaveny takto:

Vlastnost Hodnota
MediaType Plain.
TransferEncoding QuotedPrintable.

Platí pro

Attachment(Stream, ContentType)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci třídy Attachment se zadaným datovým proudem a typem obsahu.

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
Public Sub New (contentStream As Stream, contentType As ContentType)

Parametry

contentStream
Stream

Čitelný Stream, který obsahuje obsah této přílohy.

contentType
ContentType

ContentType, která popisuje data v contentStream.

Výjimky

contentType je null.

-nebo-

contentStream je null.

Příklady

Následující příklad kódu ukazuje, jak volat tento konstruktor.

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

Poznámky

Vlastnost TransferEncoding je nastavena na Base64.

Pokud je vlastnost CanSeek datového proudu false, příloha a MailMessage, které ho obsahují, nelze opakovaně použít. Pokud chcete znovu použít přílohu, musíte zadat datový proud, který se dá prohledávat.

Platí pro

Attachment(Stream, String)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci Attachment třídy se zadaným datovým proudem a názvem.

public:
 Attachment(System::IO::Stream ^ contentStream, System::String ^ name);
public Attachment (System.IO.Stream contentStream, 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)

Parametry

contentStream
Stream

Čitelný Stream, který obsahuje obsah této přílohy.

name
String

String, která obsahuje hodnotu vlastnosti NameContentType přidružené k této příloze. Tato hodnota může být null.

Výjimky

contentStream je null.

Příklady

Následující příklad kódu ukazuje, jak volat tento konstruktor.

// 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;
}

Poznámky

Pokud name není null nebo se rovná String.Empty (""), ContentType pro tuto přílohu se sestaví s vlastností Name nastavenou na name. Vlastnost TransferEncoding je nastavena na Base64.

Pokud je vlastnost CanSeek datového proudu false, příloha a MailMessage, které ho obsahují, nelze opakovaně použít. Pokud chcete znovu použít přílohu, musíte zadat datový proud, který se dá prohledávat.

Platí pro

Attachment(String, ContentType)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci třídy Attachment se zadaným řetězcem obsahu a 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
Public Sub New (fileName As String, contentType As ContentType)

Parametry

fileName
String

String obsahující cestu k souboru, která se má použít k vytvoření této přílohy.

contentType
ContentType

ContentType, která popisuje data v fileName.

Výjimky

fileName je null.

mediaType není ve správném formátu.

Platí pro

Attachment(String, String)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci Attachment třídy se zadaným řetězcem obsahu a informacemi o typu MIME.

public:
 Attachment(System::String ^ fileName, System::String ^ mediaType);
public Attachment (string fileName, 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)

Parametry

fileName
String

String, která obsahuje obsah této přílohy.

mediaType
String

String obsahující informace o záhlaví obsahu MIME pro tuto přílohu. Tato hodnota může být null.

Výjimky

fileName je null.

mediaType není ve správném formátu.

Příklady

Následující příklad kódu ukazuje, jak volat tento konstruktor.

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

Poznámky

Je-li mediaTypenull nebo roven String.Empty (""), vlastnost MediaType této přílohy je nastavena na Plain. Pokud mediaType není null a nejedná se o řetězec nulové délky, slouží k vytvoření ContentType přidružené k této příloze.

Platí pro

Attachment(Stream, String, String)

Zdroj:
Attachment.cs
Zdroj:
Attachment.cs
Zdroj:
Attachment.cs

Inicializuje novou instanci Attachment třídy se zadaným datovým proudem, názvem a informacemi o typu MIME.

public:
 Attachment(System::IO::Stream ^ contentStream, System::String ^ name, System::String ^ mediaType);
public Attachment (System.IO.Stream contentStream, string? name, 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)

Parametry

contentStream
Stream

Čitelný Stream, který obsahuje obsah této přílohy.

name
String

String, která obsahuje hodnotu vlastnosti NameContentType přidružené k této příloze. Tato hodnota může být null.

mediaType
String

String obsahující informace o záhlaví obsahu MIME pro tuto přílohu. Tato hodnota může být null.

Výjimky

stream je null.

mediaType není ve správném formátu.

Příklady

Následující příklad kódu ukazuje, jak volat tento konstruktor.

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

Poznámky

Pokud mediaType není null nebo se rovná String.Empty (""), slouží k vytvoření třídy ContentType přidružené k této příloze.

Pokud mediaType i name obsahují informace o Name, použije se hodnota zadaná v name. Vlastnost TransferEncoding je nastavena na Base64.

Pokud je vlastnost CanSeek datového proudu false, příloha a MailMessage, které ho obsahují, nelze opakovaně použít. Pokud chcete znovu použít přílohu, musíte zadat datový proud, který se dá prohledávat.

Platí pro