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.

Содержимое вложения может быть String Stream именем файла, или.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.

Заголовок Content-Disposition MIME представлен ContentDisposition свойством.The MIME Content-Disposition header is represented by the ContentDisposition property. Заголовок Content-Disposition указывает метки времени представления и файлов для вложения.The Content-Disposition header specifies the presentation and file time stamps for an attachment. Заголовок Content-Disposition отправляется, только если вложение является файлом.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.

Заголовок Content-передает-Encoding представлен 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)

Инициализирует новый экземпляр класса Attachment с указанными потоком, именем и информацией о типе MIME.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)

Инициализирует новый экземпляр класса Attachment с указанной строкой содержимого и информацией о типе MIME.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 для этого вложения.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()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к