Поделиться через


Attachment Класс

Определение

Представляет вложение в сообщение электронной почты.

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

Примеры

В следующем примере кода показано вложение файла в сообщение электронной почты.

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 . Все сообщения включают сообщение Body, содержащее содержимое сообщения. Помимо текста, может потребоваться отправить дополнительные файлы. Они отправляются в виде вложений и представляются как Attachment экземпляры. Чтобы добавить вложение в почтовое сообщение, добавьте его в коллекцию MailMessage.Attachments .

Содержимое вложения может быть StringStreamименем или именем файла. Содержимое в вложений можно указать с помощью любого Attachment конструктора.

Сведения о заголовке miME Content-Type для вложения представлены свойством ContentType . Заголовок Content-Type указывает тип носителя и подтип и все связанные параметры. Используется ContentType для получения экземпляра, связанного с вложением.

Заголовок MIME Content-Disposition представлен свойством ContentDisposition . Заголовок Content-Disposition указывает метки времени представления и файла для вложения. Заголовок Content-Disposition отправляется только в том случае, если вложение является файлом. ContentDisposition Используйте свойство, чтобы получить экземпляр, связанный с вложением.

Заголовок MIME Content-Transfer-Encoding представлен свойством TransferEncoding .

Конструкторы

Имя Описание
Attachment(Stream, ContentType)

Инициализирует новый экземпляр Attachment класса с указанным потоком и типом контента.

Attachment(Stream, String, String)

Инициализирует новый экземпляр Attachment класса с указанным потоком, именем и сведениями о типе MIME.

Attachment(Stream, String)

Инициализирует новый экземпляр Attachment класса с указанным потоком и именем.

Attachment(String, ContentType)

Инициализирует новый экземпляр класса с указанной строкой содержимого Attachment и ContentType.

Attachment(String, String)

Инициализирует новый экземпляр класса с указанной строкой содержимого Attachment и сведениями о типе MIME.

Attachment(String)

Инициализирует новый экземпляр класса с указанной строкой содержимого Attachment .

Свойства

Имя Описание
ContentDisposition

Возвращает ликвидацию содержимого MIME для этого вложения.

ContentId

Возвращает или задает идентификатор содержимого MIME для этого вложения.

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

Возвращает поток содержимого этого вложения.

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

Возвращает тип контента этого вложения.

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

Возвращает или задает значение имени типа контента MIME в типе контента, связанном с этим вложением.

NameEncoding

Указывает кодировку для AttachmentName.

TransferEncoding

Возвращает или задает кодировку этого вложения.

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

Методы

Имя Описание
CreateAttachmentFromString(String, ContentType)

Создает вложение почты с помощью содержимого из указанной строки и указанного ContentType.

CreateAttachmentFromString(String, String, Encoding, String)

Создает вложение почты с помощью содержимого из указанной строки, указанного имени типа контента MIME, кодировки символов и сведений о заголовке MIME для вложения.

CreateAttachmentFromString(String, String)

Создает вложение почты с помощью содержимого из указанной строки и указанного имени типа контента MIME.

Dispose()

Освобождает ресурсы, используемые параметром AttachmentBase.

(Унаследовано от AttachmentBase)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые AttachmentBase и при необходимости освобождает управляемые ресурсы.

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

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Возвращает строку, представляющую текущий объект.

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

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