EASendMail Namespace References


EASendMail namespace contains classes that allow you to construct and send email messages. Email message is delivered through either arbitrary SMTP email service or dns lookup without specified SMTP server. The classes in this namespace can be used from ASP.NET or any managed application.

Classes

Class Description
Attachment Provides properties and methods for constructing an e-mail attachment.
AddressCollection Collection of MailAddress class inherited from System.Collections.ArrayList
Certificate Provides properties and methods for associating digital certificate with an e-mail address.
DnsQueryEx Provides properties and methods for querying MX records of domain from DNS server.
HeaderCollection Collection of HeaderItem class inherited from System.Collections.ArrayList
HeaderItem Provides properties and methods for constructing an e-mail header.
MailAddress Provides properties and methods for constructing an e-mail address including display name, e-mail address and digital certificate.
MimePart Provides properties and methods for constructing a customized MIME part defined in RFC822.
MimePartCollection Collection of MimePart class inherited from System.Collections.ArrayList
SmtpClient Provides properties and methods for sending messages and testing recipients.
SmtpClientAsyncResult Provides an implementation of System.IAsyncResult for use by BeginSendMail method and BeginTestRecipients method to implement the standard asynchronous method pattern.
SmtpMail Provides properties and methods for constructing an e-mail message.
SmtpServer Provides properties and methods for constructing a smtp server instance.
SmtpServerException Represents errors that is returned by smtp server.
SmtpTerminatedException Represents error that sending email is cancelled by user.
ProxyServerException Represents errors that is returned by proxy server..

Enumerations

Enumeration Description
DeliveryNotificationOptions Provides enumered values for e-mail notification setting.
EncryptionAlgorithmType Provides enumered values for e-mail encryption algorithm.
HeaderEncodingType Provides enumered values for e-mail header, subject, e-mail friendly name encoding.
ImportHtmlBodyOptions Provides enumered values for options of importing html body.
ImportTextBodyOptions Provides enumered values for options of importing plain text body.
MailPriority Specifies the priority level for the e-mail message.
ServerProtocol Specifies the protocol (SMTP/Exchange EWS/Exchange WebDAV) for mail server.
SmtpAuthType Specifies the smtp user authentication mechanism.
SmtpConnectType Specifies the connection type to smtp server.
SocksProxyProtocol Specifies the protocol (socks4/socks5/http) for proxy server.
TransferEncodingType Provides enumered values for e-mail body text encoding.

Example

[Visual Basic, C#, C++, JScript.NET] The following example demonstrates how to send email with EASendMail SMTP Component, but it doesn't demonstrates the events usage. To get the full samples of EASendMail, please refer to Samples section.

[VB - Send Email Example]

Imports EASendMail

Public Sub SendMail(sender As String,
    toRecipients As String,
    ccRecipients As String,
    subject As String,
    bodyText As String,
    server As String,
    user As String,
    password As String,
    useSsl As Boolean)

    Try
        ' From is a MailAddress object, it also supports implicit converting from string directly. 
        ' The syntax is like this: "test@adminsystem.com" or "Tester <test@adminsystem.com>"

        ' oMail.From = New MailAddress("Tester", "test@adminsystem.com") 
        ' oMail.From = New MailAddress("Tester <test@adminsystem.com>") 
        ' oMail.From = New MailAddress("test@adminsystem.com") 

        ' To, Cc and Bcc is a AddressCollection object, it also supports implicit converting from string directly. 
        ' multiple addresses should be separated with (,;) 
        ' The syntax is like this: "test@adminsystem.com, test1@adminsystem.com" 

        ' oMail.To = New AddressCollection("test1@adminsystem.com, test2@adminsystem.com") 
        ' oMail.To = New AddressCollection("Tester1 <test@adminsystem.com>, Tester2 <test2@adminsystem.com>")

        ' You can add more recipient by Add method 
        ' oMail.To.Add(New MailAddress("tester", "test@adminsystem.com"))

        Dim oMail As SmtpMail = New SmtpMail("TryIt")

        oMail.From = New MailAddress(sender)
        oMail.To = New AddressCollection(toRecipients)
        oMail.Cc = New AddressCollection(ccRecipients)

        oMail.Subject = subject
        ' If bodyText contains html tags, please use 
        ' oMail.HtmlBody = bodyText 
        oMail.TextBody = bodyText

        ' Add attachment 
        ' oMail.AddAttachment("c:\test.gif")

        ' Set server address
        Dim oServer As SmtpServer = New SmtpServer(server)
        If user.Length > 0 And password.Length > 0 Then
            ' Set user/password for ESMTP authentication
            oServer.User = user
            oServer.Password = password
        End If

        ' Most mordern SMTP servers require SSL/TLS connection now.
        ' ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically.
        oServer.ConnectType = If(useSsl, SmtpConnectType.ConnectSSLAuto, SmtpConnectType.ConnectTryTLS)

        Dim oSmtp As SmtpClient = New SmtpClient()

        ' To generate a log file for SMTP transaction, please use 
        ' oSmtp.LogFileName = "c:\smtp.txt"

        oSmtp.SendMail(oServer, oMail)

        Console.WriteLine("The message has been submitted to server successfully!")
    Catch ex As Exception
        Console.WriteLine("Exception: {0}", ex.Message)
    End Try

End Sub


[C# - Send Email Example] using System; using System.Collections; using EASendMail; public static void SendMail(string sender, string toRecipients, string ccRecipients, string subject, string bodyText, string server, string user, string password, bool useSsl) { try { // From is a MailAddress object, it also supports implicit converting from string. // The syntax is like this: "test@adminsystem.com" or "Tester <test@adminsystem.com>" // oMail.From = new MailAddress("Tester", "test@adminsystem.com"); // oMail.From = new MailAddress("Tester <test@adminsystem.com>"); // oMail.From = new MailAddress("test@adminsystem.com"); // To, Cc and Bcc is a AddressCollection object, it also supports implicit converting from string. // multiple addresses should be separated with (,;) // The syntax is like this: "test@adminsystem.com, test1@adminsystem.com" // oMail.To = new AddressCollection("test1@adminsystem.com, test2@adminsystem.com"); // oMail.To = new AddressCollection("Tester1<test@adminsystem.com>, Tester2<test2@adminsystem.com>"); // You can add more recipient by Add method // oMail.To.Add( new MailAddress( "tester", "test@adminsystem.com")); SmtpMail oMail = new SmtpMail("TryIt"); oMail.From = sender; oMail.To = toRecipients; oMail.Cc = ccRecipients; oMail.Subject = subject; // If bodyText contains the html tags, please use // oMail.HtmlBody = bodyText; oMail.TextBody = bodyText; // Add attachment // oMail.AddAttachment("c:\\test.gif"); // Set server address SmtpServer oServer = new SmtpServer(server); if (user.Length != 0 && password.Length != 0) { // Set user/password for ESMTP authentication oServer.User = user; oServer.Password = password; } // Most mordern SMTP servers require SSL/TLS connection now. // ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer.ConnectType = (useSsl) ? SmtpConnectType.ConnectSSLAuto : SmtpConnectType.ConnectTryTLS; SmtpClient oSmtp = new SmtpClient(); // To generate a log file for SMTP transaction, please use // oSmtp.LogFileName = "c:\\smtp.txt"; oSmtp.SendMail(oServer, oMail); Console.WriteLine("The message has been submitted to server successfully!"); } catch (Exception exp) { Console.WriteLine("Exception: {0}", exp.Message); } }
[C++/CLI - Send Email Example] using namespace System; using namespace System::Collections; using namespace EASendMail; static void SendMail(String ^sender, String ^toRecipients, String ^ccRecipients, String ^subject, String ^bodyText, String ^server, String ^user, String ^password, bool useSsl) { try { // From is a MailAddress object, it also supports implicit converting from string. // The syntax is like this: "test@adminsystem.com" or "Tester <test@adminsystem.com>" // oMail->From = gcnew MailAddress("Tester", "test@adminsystem.com"); // oMail->From = gcnew MailAddress("Tester <test@adminsystem.com>"); // oMail->From = gcnew MailAddress("test@adminsystem.com"); //To, Cc and Bcc is a AddressCollection object, it also supports implicit converting from string. // multiple address should be separated with (,;) //The syntax is like this: "test@adminsystem.com, test1@adminsystem.com" // oMail->To = gcnew AddressCollection("test1@adminsystem.com, test2@adminsystem.com"); // oMail->To = gcnew AddressCollection("Tester1 <test@adminsystem.com>, Tester2 <test2@adminsystem.com>"); // You can add more recipient by Add method // oMail->To->Add(gcnew MailAddress("tester", "test@adminsystem.com")); SmtpMail ^oMail = gcnew SmtpMail("TryIt"); oMail->From = gcnew EASendMail::MailAddress(sender); oMail->To = gcnew EASendMail::AddressCollection(toRecipients); oMail->Cc = gcnew EASendMail::AddressCollection(ccRecipients); oMail->Subject = subject; // If bodyText contains html tags, please use // oMail->HtmlBody = bodyText; oMail->TextBody = bodyText; // Add attachment // oMail->AddAttachment("c:\\test.gif"); // Set server address SmtpServer ^oServer = gcnew SmtpServer(server); if (user->Length != 0 && password->Length != 0) { // Set user/password for ESMTP authentication oServer->User = user; oServer->Password = password; } // Most mordern SMTP servers require SSL/TLS connection now. // ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer->ConnectType = (useSsl) ? SmtpConnectType::ConnectSSLAuto : SmtpConnectType::ConnectTryTLS; SmtpClient ^oSmtp = gcnew SmtpClient(); // To generate a log file for SMTP transaction, please use // oSmtp->LogFileName = "c:\\smtp.txt"; oSmtp->SendMail(oServer, oMail); Console::WriteLine("The message has been submitted to server successfully!"); } catch (Exception ^exp) { Console::WriteLine("Exception: {0}", exp->Message); } }
[JScript.NET - Send Email Example] public function SendMail(sender:String, toRecipients:String, ccRecipients:String, subject:String, bodyText:String, server:String, user:String, password:String, useSsl:Boolean) { try { // From is a MailAddress object, it also supports implicit converting from string. // The syntax is like this: "test@adminsystem.com" or "Tester <test@adminsystem.com>" // oMail.From = new MailAddress("Tester", "test@adminsystem.com"); // oMail.From = new MailAddress("Tester<test@adminsystem.com>"); // oMail.From = new MailAddress("test@adminsystem.com"); // To, Cc and Bcc is a AddressCollection object, it also supports implicit converting from string. // multiple addresses should be separated with (,;) // The syntax is like this: "test@adminsystem.com, test1@adminsystem.com" // oMail.To = new AddressCollection("test1@adminsystem.com, test2@adminsystem.com"); // oMail.To = new AddressCollection("Tester1 <test@adminsystem.com>, Tester2 <test2@adminsystem.com>"); // You can add more recipient by Add method // oMail.To.Add(new MailAddress("tester","test@adminsystem.com")); var oMail:SmtpMail = new SmtpMail("TryIt"); oMail.From = new MailAddress(sender); oMail.To = new AddressCollection(toRecipients); oMail.Cc = new AddressCollection(ccRecipients); oMail.Subject = subject; // If bodyText contains html tags, please use // oMail.HtmlBody = bodyText; oMail.TextBody = bodyText; // Add attachment // oMail.AddAttachment("c:\\test.gif"); // Set server address var oServer:SmtpServer = new SmtpServer(server); if(user.Length != 0 && password.Length != 0) { // Set user/password for ESMTP authentication oServer.User = user; oServer.Password = password; } // Most mordern SMTP servers require SSL/TLS connection now. // ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer.ConnectType = (useSsl)? SmtpConnectType.ConnectSSLAuto : SmtpConnectType.ConnectTryTLS; var oSmtp:SmtpClient = new SmtpClient(); // To generate a log file for SMTP transaction, please use // oSmtp.LogFileName = "c:\\smtp.txt"; oSmtp.SendMail(oServer, oMail); Console.WriteLine("The message has been submitted to server successfully!"); } catch(exp:System.Exception) { Console.WriteLine("Exception: {0}", exp.Message); } }

See Also

Using EASendMail SMTP .NET Component
User Authentication and SSL Connection
Enable TLS 1.2 on Windows XP/2003/2008/7/2008 R2
Using Gmail SMTP OAUTH
Using Gmail/GSuite Service Account + SMTP OAUTH Authentication
Using Office365 EWS OAUTH
Using Office365 EWS OAUTH in Background Service
Using Hotmail SMTP OAUTH
From, ReplyTo, Sender and Return-Path
Digital Signature and E-mail Encryption
DomainKeys and DKIM Signature
Send E-mail Directly (Simulating SMTP server)
Work with EASendMail Service (Email Queuing)
Bulk Email Sender Guidelines
Process Bounced Email (Non-Delivery Report) and Email Tracking
EASendMail SMTP Component Samples

Online Tutorials

Send Email in VB 6.0 - Tutorial
Send Email in C# - Tutorial
Send Email in VB.NET - Tutorial
Send Email in Visual C++ - Tutorial
Send Email in Managed C++/CLI - Tutorial
Send Email in Delphi - Tutorial
Send Email in MS SQL stored procedure - Tutorial
Send Email in VB - Windows Store App
Send Email in C# - Windows Store App
Send Email in JavaScript - Windows Store App