Attachment Class

Provides properties and methods for presenting an e-mail attachment.


[Visual Basic]
Public Class Attachment
public class Attachment
public ref class Attachment
public class Attachment

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Public Constructors

Attachment Constructor Initializes a new instance of the Attachment class.

Public Properties

Content Gets the Content (binary data) of the embedded attachment.
ContentID Gets the Content-ID of the embedded attachment.
ContentType Gets the Content-Type of the attachment.
EncodedContent Gets the enconded content (raw data) of the attachment.
Headers Gets the HeaderCollection for headers of the e-mail message.
Name Gets the name of the attachment.

Public Methods

SaveAs Saves the attachment to a local file.


It is not recommended to construct Attachment class instance directly. To get attachments of email, please use Mail.Attachments property, this property returns an array for Attachment class instances.


[Visual Basic, C#, C++, JScript.NET] To get the full samples of EAGetMail, please refer to Samples section.

[Visual Basic - Parse Attachment]
Imports EAGetMail

Public Sub ParseAttachment()
    Dim oMail As New Mail("TryIt")
    oMail.Load("c:\test.eml", False)

    ' Decode winmail.dat (TNEF) automatically

    Dim atts() As Attachment = oMail.Attachments
    Dim tempFolder As String = "c:\temp"
    Dim count As Integer = atts.Length
    If (Not System.IO.Directory.Exists(tempFolder)) Then
    End If

    For i As Integer = 0 To count - 1
        Dim att As Attachment = atts(i)
        Dim attname As String = String.Format("{0}\{1}", tempFolder, att.Name)
        att.SaveAs(attname, True)
End Sub

[C# - Parse Attachment] using System; using System.Collections; using EAGetMail; public void ParseAttachment() { Mail oMail = new Mail("TryIt"); oMail.Load("c:\\test.eml", false); // Decode winmail.dat (TNEF) automatically oMail.DecodeTNEF(); Attachment [] atts = oMail.Attachments; int count = atts.Length; string tempFolder = "c:\\temp"; if(!System.IO.Directory.Exists(tempFolder)) System.IO.Directory.CreateDirectory(tempFolder); for(int i = 0; i < count; i++) { Attachment att = atts[i]; string attname = String.Format("{0}\\{1}", tempFolder, att.Name); att.SaveAs(attname , true); } }
[C++ - Parse Attachment] using namespace System; using namespace EAGetMail; Void ParseAttachment() { Mail ^oMail = gcnew Mail("TryIt"); oMail->Load("c:\\test.eml", false); // Decode winmail.dat (TNEF) automatically oMail->DecodeTNEF(); array<Attachment^> ^atts= oMail->Attachments; int count = atts->Length; String^ tempFolder = "c:\\temp"; if(!System::IO::Directory::Exists(tempFolder)) System::IO::Directory::CreateDirectory(tempFolder); for(int i = 0; i < count; i++) { Attachment ^att = atts[i]; String ^attname = String::Format("{0}\\{1}", tempFolder, att->Name); att->SaveAs(attname, true); } }
[JScript - Parse Attachment] function ParseAttachment() { var oMail:Mail = new Mail("TryIt"); oMail.Load("c:\\test.eml", false); // Decode winmail.dat (TNEF) automatically oMail.DecodeTNEF(); var atts:Attachment[] = oMail.Attachments; var count:int = atts.Length; var tempFolder:String = "c:\\temp"; if(!System.IO.Directory.Exists(tempFolder)) System.IO.Directory.CreateDirectory(tempFolder); for(var i:int = 0; i < count; i++) { var att:Attachment = atts[i]; var attname:String = String.Format("{0}\\{1}", tempFolder, att.Name); att.SaveAs(attname , true); } }

See Also

Mail.Attachments Property

Online Tutorials

Parse Email in C# - Tutorial
Parse winmail.dat(TNEF) in C# - Tutorial
Parse Email in VB.NET - Tutorial
Parse winmail.dat(TNEF) in VB.NET - Tutorial
Parse Email in C++/CLI - Tutorial
Parse winmail.dat(TNEF) in C++/CLI - Tutorial