ivan
  • ivan
  • 100% (Exalted)
  • Administration Topic Starter
14 years ago
Visual Basic.NET Example

' The following example codes demonstrate parsing S/MIME email - digital signature and decryption
' To get full sample projects, please download and install EAGetMail on your machine.
' To run it correctly, please change email server, user, password, folder, file name value to yours


Imports System.Collections 
Imports System.Text 
Imports System.IO 

' Imports EAGetMail namespace
Imports EAGetMail 

Module Module1 
    Private Sub ParseEmail(ByVal emlFile As String) 
        Dim oMail As New Mail("TryIt") 
        oMail.Load(emlFile, False) 

        If oMail.IsEncrypted Then 
            Try 
                ' This email is encrypted, we decrypt it by user default certificate.
                ' you can also use specified certificate like this
                ' Dim oCert As New Certificate()
                ' oCert.Load("c:\test.pfx", "pfxpassword", _
                ' Certificate.CertificateKeyLocation.CRYPT_USER_KEYSET)
                ' oMail = oMail.Decrypt( oCert )
                oMail = oMail.Decrypt(Nothing) 
            Catch ep As Exception 
                Console.WriteLine(ep.Message) 
            End Try 
        End If 

        If oMail.IsSigned Then 
            Try 
                ' This email is digital signed.
                Dim cert As EAGetMail.Certificate = oMail.VerifySignature() 

                ' You can add the certificate to your certificate storage like this
                ' cert.AddToStore( _
                ' Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, _
                ' "addressbook" )
                ' Then you can use send the encrypted email back to this sender.
                Console.WriteLine("This email contains a valid digital signature.") 
            Catch ep As Exception 
                Console.WriteLine(ep.Message) 
            End Try 
        End If 

        ' Parse sender
        Console.WriteLine("From: {0}", oMail.From.ToString()) 

        ' Parse to, recipients
        Dim addrs As MailAddress() = oMail.[To] 
        For i As Integer = 0 To addrs.Length - 1 
            Console.WriteLine("To: {0}", addrs(i).ToString()) 
        Next 

        ' Parse CC
        addrs = oMail.Cc 
        For i As Integer = 0 To addrs.Length - 1 
            Console.WriteLine("To: {0}", addrs(i).ToString()) 
        Next 

        ' Parse Subject
        Console.WriteLine("Subject: {0}", oMail.Subject) 

        ' Parse Text/Plain body
        Console.WriteLine("TextBody: {0}", oMail.TextBody) 

        ' Parse Html Body
        Console.WriteLine("HtmlBody: {0}", oMail.HtmlBody) 

        ' Parse Attachments
        Dim atts As Attachment() = oMail.Attachments 
        For i As Integer = 0 To atts.Length - 1 
            Console.WriteLine("Attachment: {0}", atts(i).Name) 
        Next 
    End Sub 

    Sub Main() 

        ParseEmail("c:\my folder\test.eml") 

    End Sub 
End Module 
Click here to read original topic - full verson ... 

If you have any comments or questions about above example codes, please add your comments here.

EXPLORE TUTORIALS

© All Rights Reserved, AIFEI Software Limited & AdminSystem Software Limited.