Udostępnij za pośrednictwem


Attachment Klasa

Definicja

Reprezentuje załącznik do wiadomości e-mail.

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
Dziedziczenie
Attachment

Przykłady

Poniższy przykład kodu przedstawia dołączanie pliku do wiadomości e-mail.

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

Uwagi

Klasa Attachment jest używana z klasą MailMessage . Wszystkie komunikaty zawierają Bodyelement , który zawiera zawartość wiadomości. Oprócz treści możesz wysłać dodatkowe pliki. Są one wysyłane jako załączniki i są reprezentowane jako Attachment wystąpienia. Aby dodać załącznik do wiadomości e-mail, dodaj go do kolekcji MailMessage.Attachments .

Zawartość załącznika może być Stringnazwą pliku , Streamlub . Zawartość w załączniku można określić przy użyciu dowolnego konstruktora Attachment .

Informacje nagłówka MIME Content-Type dla załącznika są reprezentowane przez ContentType właściwość . Nagłówek Content-Type określa typ nośnika i podtyp oraz wszystkie skojarzone parametry. Użyj ContentType polecenia , aby pobrać wystąpienie skojarzone z załącznikiem.

Nagłówek MIME Content-Disposition jest reprezentowany ContentDisposition przez właściwość . Nagłówek Content-Disposition określa prezentację i sygnatury czasowe pliku dla załącznika. Nagłówek Content-Disposition jest wysyłany tylko wtedy, gdy załącznik jest plikiem. ContentDisposition Użyj właściwości , aby pobrać wystąpienie skojarzone z załącznikiem.

Nagłówek MIME Content-Transfer-Encoding jest reprezentowany TransferEncoding przez właściwość .

Konstruktory

Attachment(Stream, ContentType)

Inicjuje nowe wystąpienie klasy o określonym strumieniu Attachment i typie zawartości.

Attachment(Stream, String)

Inicjuje Attachment nowe wystąpienie klasy o określonej nazwie i strumieniu.

Attachment(Stream, String, String)

Inicjuje Attachment nowe wystąpienie klasy z określonym strumieniem, nazwą i informacjami o typie MIME.

Attachment(String)

Inicjuje Attachment nowe wystąpienie klasy z określonym ciągiem zawartości.

Attachment(String, ContentType)

Inicjuje Attachment nowe wystąpienie klasy przy użyciu określonego ciągu zawartości i ContentType.

Attachment(String, String)

Inicjuje Attachment nowe wystąpienie klasy z określonym ciągiem zawartości i informacjami o typie MIME.

Właściwości

ContentDisposition

Pobiera dyspozycję zawartości MIME dla tego załącznika.

ContentId

Pobiera lub ustawia identyfikator zawartości MIME dla tego załącznika.

(Odziedziczone po AttachmentBase)
ContentStream

Pobiera strumień zawartości tego załącznika.

(Odziedziczone po AttachmentBase)
ContentType

Pobiera typ zawartości tego załącznika.

(Odziedziczone po AttachmentBase)
Name

Pobiera lub ustawia wartość nazwy typu zawartości MIME w typie zawartości skojarzonym z tym załącznikiem.

NameEncoding

Określa kodowanie dla .AttachmentName

TransferEncoding

Pobiera lub ustawia kodowanie tego załącznika.

(Odziedziczone po AttachmentBase)

Metody

CreateAttachmentFromString(String, ContentType)

Tworzy załącznik wiadomości e-mail przy użyciu zawartości z określonego ciągu i określonego ContentType.

CreateAttachmentFromString(String, String)

Tworzy załącznik poczty przy użyciu zawartości z określonego ciągu i określoną nazwę typu zawartości MIME.

CreateAttachmentFromString(String, String, Encoding, String)

Tworzy załącznik poczty przy użyciu zawartości z określonego ciągu, określonej nazwy typu zawartości MIME, kodowania znaków i informacji nagłówka MIME dla załącznika.

Dispose()

Zwalnia zasoby używane przez element AttachmentBase.

(Odziedziczone po AttachmentBase)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element AttachmentBase i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po AttachmentBase)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy