Specifies the protocol (SMTP/Exchange Web Service/Exchange WebDAV) for mail server.
[Visual Basic] Public Enum ServerProtocol
[C#] public enum ServerProtocol
[C++] __value public enum ServerProtocol
[JScript] public enum ServerProtocol
Members
Members name | Description |
SMTP | Specifies that the mail server uses standard SMTP protocol. |
ExchangeEWS | Specifies that that the mail server uses Exchange Web Service protocol. Exchange 2007 or later version and Office365 support this protocol. |
ExchangeWebDav | Specifies that that the mail server uses Exchange Web Dav protocol. Exchange 2000/2003 supports this protocol. |
GmailApi |
Specifies that that the mail server uses Gmail RESTful API. Google OAUTH is required. Gmail supports SMTP + OAUTH, but the API (https://mail.google.com/) scope is restricted API which requests to have full access to the Gmail account. Restricted API is throttled before your project is authenticated by Google. Using less restricted API (https://www.googleapis.com/auth/gmail.send) scope to send email via Gmail server is recommended. |
MsGraphApi | Specifies that that the mail server uses Microsoft Graph API. Office 365 supports this protocol. |
Remarks
Example
[Visual Basic, C#, C++] The following example demonstrates how to send email with SmtpClient class. To get the full samples of EASendMail, please refer to Samples section.
Example
[Visual Basic, C#, C++] To get the full samples of EASendMail, please refer to Samples section.
[Visual Basic - Send Email using Stanard SMTP Protocol] Imports EASendMail Sub SendMail_SMTP() Try Dim oServer As SmtpServer = New SmtpServer("smtp.adminsystem.com") ' set user authentication oServer.User = "myuser@adminsystem.com" oServer.Password = "mypassword" ' specifies the authentication mechanism, AuthAuto is default value ' oSmtp.AuthType = SmtpAuthType.AuthAuto ' Most mordern SMTP servers require SSL/TLS connection now. ' ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer.ConnectType = SmtpConnectType.ConnectTryTLS ' set SSL/TLS connection ' oServer.ConnectType = SmtpConnectType.ConnectSSLAuto ' set SMTP server port to 587, default value is 25 ' oServer.Port = 587 ' set SMTP server port to 465, ' if 465 port is used, ConnectType should use ConnectSSLAuto or ConnectDirectSSL. ' oServer.Port = 465 ' set helo domain, default value is current machine name ' oServer.HeloDomain = "mymachine.com" Dim oMail As SmtpMail = New SmtpMail("TryIt") oMail.From = New MailAddress("from@adminsystem.com") oMail.To.Add(New MailAddress("to@adminsystem.com")) oMail.Subject = "test email sent from VB" oMail.TextBody = "test body" Dim oSmtp As SmtpClient = New SmtpClient() oSmtp.SendMail(oServer, oMail) Console.WriteLine("This email has been submitted to server successfully!") Catch exp As Exception Console.WriteLine("Exception: {0}", exp.Message) End Try End Sub
[Visual Basic - Send Email using Exchange Web Service - EWS] Imports EASendMail Sub SendMail_Exchange_EWS() Try ' Your Exchange server address Dim oServer As SmtpServer = New SmtpServer("exch.adminsystem.com") ' Set Exchange Web Service protocol (EWS) - Exchange 2007/2010/2013/2016/2019/Office 365 oServer.Protocol = ServerProtocol.ExchangeEWS ' User and password for Exchange User authentication oServer.User = "myuser@adminsystem.com" oServer.Password = "mypassword" ' By default, Exchange Web Service requires SSL connection oServer.ConnectType = SmtpConnectType.ConnectSSLAuto Dim oMail As SmtpMail = New SmtpMail("TryIt") oMail.From = New MailAddress("myuser@adminsystem.com") oMail.To.Add(New MailAddress("to@adminsystem.com")) oMail.Subject = "test email sent from VB with EWS protocol" oMail.TextBody = "test body" Dim oSmtp As SmtpClient = New SmtpClient() oSmtp.SendMail(oServer, oMail) Console.WriteLine("This email has been submitted to server successfully!") Catch exp As Exception Console.WriteLine("Exception: {0}", exp.Message) End Try End Sub
[Visual Basic - Send Email using Exchange WebDAV] Imports EASendMail Sub SendMail_Exchange_WebDav() Try ' Your Exchange server address Dim oServer As SmtpServer = New SmtpServer("exch.adminsystem.com") ' Set Exchange WebDAV protocol - Exchange 2000/2003 oServer.Protocol = ServerProtocol.ExchangeWebDav ' User and password for Exchange User authentication oServer.User = "adminsystem.com\myuser" oServer.Password = "testpassword" ' if your server requires SSL conection, add this line ' oServer.ConnectType = SmtpConnectType.ConnectSSLAuto Dim oMail As SmtpMail = New SmtpMail("TryIt") oMail.From = New MailAddress("myuser@adminsystem.com") oMail.To.Add(New MailAddress("to@adminsystem.com")) oMail.Subject = "test email sent from VB with WebDAV protocol" oMail.TextBody = "test body" Dim oSmtp As SmtpClient = New SmtpClient() oSmtp.SendMail(oServer, oMail) Console.WriteLine("This email has been submitted to server successfully!") Catch exp As Exception onsole.WriteLine("Exception: {0}", exp.Message) End Try End Sub
[C# - Send Email using Standard SMTP protocol] using System; using EASendMail; void SendMail_SMTP() { try { // SMTP server address SmtpServer oServer = new SmtpServer("smtp.adminsystem.com"); // SMTP user authentication oServer.User = "myusername"; oServer.Password = "mypassword"; // specifies the authentication mechanism, AuthAuto is default value // oSmtp.AuthType = SmtpAuthType.AuthAuto; // Most mordern SMTP servers require SSL/TLS connection now. // ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer.ConnectType = SmtpConnectType.ConnectTryTLS; // set SSL/TLS connection // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto; // set SMTP server port to 587, default value is 25 // oServer.Port = 587; // set SMTP server port to 465, // if 465 port is used, ConnectType should use ConnectSSLAuto or ConnectDirectSSL. // oServer.Port = 465; // set helo domain, default value is current machine name // oServer.HeloDomain = "mymachine.com"; SmtpMail oMail = new SmtpMail("TryIt"); oMail.From = new MailAddress("from@adminsystem.com"); oMail.To.Add(new MailAddress("to@adminsystem.com")); oMail.Subject = "test email sent from C#"; oMail.TextBody = "test body"; SmtpClient oSmtp = new SmtpClient(); oSmtp.SendMail(oServer, oMail); Console.WriteLine("This email has been submitted to server successfully!"); } catch(Exception exp) { Console.WriteLine("Exception: {0}", exp.Message); } }
[C# - Send Email using Exchange Web Service - EWS] using System; using EASendMail; void SendMail_Exchange_EWS() { try { // Your Exchange server address SmtpServer oServer = new SmtpServer("exch.emailarchitect.net"); // Set Exchange Web Service protocol (EWS) - Exchange 2007/2010/2013/2016/2019/Office 365 oServer.Protocol = ServerProtocol.ExchangeEWS; // User and password for Exchange authentication oServer.User = "test@emailarchitect.net"; oServer.Password = "testpassword"; // By default, Exchange Web Service requires SSL connection oServer.ConnectType = SmtpConnectType.ConnectSSLAuto; SmtpMail oMail = new SmtpMail("TryIt"); oMail.From = new MailAddress("test@emailarchitect.net"); oMail.To.Add(new MailAddress("to@adminsystem.com")); oMail.Subject = "test email sent from C# with EWS protocol"; oMail.TextBody = "test body"; SmtpClient oSmtp = new SmtpClient(); oSmtp.SendMail(oServer, oMail); Console.WriteLine("This email has been submitted to server successfully!"); } catch (Exception exp) { Console.WriteLine("Exception: {0}", exp.Message); } }
[C# - Send Email using Exchange WebDAV] using System; using EASendMail; void SendMail_Exchange_WebDav() { try { // Your Exchange server address SmtpServer oServer = new SmtpServer("exch.emailarchitect.net"); // Set Exchange WebDAV protocol (EWS) - Exchange 2000/2003 oServer.Protocol = ServerProtocol.ExchangeWebDav; // User and password for Exchange authentication oServer.User = "emailarchitect.net\\test"; oServer.Password = "testpassword"; // If your Exchange WebDav requires SSL connection, please add this line // oServer.ConnectType = SmtpConnectType.ConnectSSLAuto; SmtpMail oMail = new SmtpMail("TryIt"); oMail.From = new MailAddress("test@emailarchitect.net"); oMail.To.Add(new MailAddress("to@adminsystem.com")); oMail.Subject = "test email sent from C# with WebDAV protocol"; oMail.TextBody = "test body"; SmtpClient oSmtp = new SmtpClient(); oSmtp.SendMail(oServer, oMail); Console.WriteLine("This email has been submitted to server successfully!"); } catch (Exception exp) { Console.WriteLine("Exception: {0}", exp.Message); } }
[C++ - Send Email using Standard SMTP Protocol] using namespace System; using namespace EASendMail; void SendMail_SMTP() { try { // SMTP server address SmtpServer ^oServer = gcnew SmtpServer("smtp.adminsystem.com"); // SMTP user authentication oServer->User = "myusername"; oServer->Password = "mypassword"; // specifies the authentication mechanism, AuthAuto is default value // oSmtp.AuthType = SmtpAuthType::AuthAuto; // Most mordern SMTP servers require SSL/TLS connection now. // ConnectTryTLS means if server supports SSL/TLS, SSL/TLS will be used automatically. oServer->ConnectType = SmtpConnectType::ConnectTryTLS; // set SSL/TLS connection // oServer->ConnectType = SmtpConnectType::ConnectSSLAuto; // set SMTP server port to 587, default value is 25 // oServer->Port = 587; // set SMTP server port to 465, // if 465 port is used, ConnectType should use ConnectSSLAuto or ConnectDirectSSL. // oServer->Port = 465; // set helo domain, default value is current machine name // oServer->HeloDomain = "mymachine.com"; SmtpMail ^oMail = gcnew SmtpMail("TryIt"); oMail->From = gcnew MailAddress("from@adminsystem.com"); oMail->To->Add(gcnew MailAddress("to@adminsystem.com")); oMail->Subject = "test email sent from C++/CLI"; oMail->TextBody = "test body"; SmtpClient ^oSmtp = gcnew SmtpClient(); oSmtp->SendMail(oServer, oMail); Console::WriteLine("This email has been submitted to server successfully!"); } catch(Exception ^exp) { Console::WriteLine("Exception: {0}", exp->Message); } }
[C++ - Send Email using Exchange Web Service - EWS] using namespace System; using namespace EASendMail; void SendMail_Exchange_EWS() { try { // Your Exchange server address SmtpServer ^oServer = gcnew SmtpServer("exch.emailarchitect.net"); // Set Exchange Web Service Protocol - EWS - Exchange 2007/2010/2013/2016/2019/Office 365 oServer->Protocol = ServerProtocol::ExchangeEWS; // User and password for Exchange Web Service authentication oServer->User = "test@emailarchitect.net"; oServer->Password = "testpassword"; // By default, Exchange Web Service requires SSL connection. oServer->ConnectType = SmtpConnectType::ConnectSSLAuto; SmtpMail ^oMail = gcnew SmtpMail("TryIt"); oMail->From = gcnew MailAddress("test@emailarchitect.net"); oMail->To->Add(gcnew MailAddress("to@adminsystem.com")); oMail->Subject = "test email sent from C++/CLI with EWS protocol"; oMail->TextBody = "test body"; SmtpClient ^oSmtp = gcnew SmtpClient(); oSmtp->SendMail(oServer, oMail); Console::WriteLine("This email has been submitted to server successfully!"); } catch (Exception ^exp) { Console::WriteLine("Exception: {0}", exp->Message); } }
[C++ - Send Email using Exchange WebDAV] using namespace System; using namespace EASendMail; void SendMail_Exchange_WebDav() { try { // Your Exchange server address SmtpServer ^oServer = gcnew SmtpServer("exch.emailarchitect.net"); // Set Exchange WebDav Protocol - Exchange 2000/2003 oServer->Protocol = ServerProtocol::ExchangeWebDav; // User and password for Exchange WebDav authentication oServer->User = "emailarchitect.net\\test"; oServer->Password = "testpassword"; // If your WebDav service requires SSL connection, please add this line // oServer->ConnectType = SmtpConnectType::ConnectSSLAuto; SmtpMail ^oMail = gcnew SmtpMail("TryIt"); oMail->From = gcnew MailAddress("test@emailarchitect.net"); oMail->To->Add(gcnew MailAddress("to@adminsystem.com")); oMail->Subject = "test email sent from C++/CLI with WebDAV protocol"; oMail->TextBody = "test body"; SmtpClient ^oSmtp = gcnew SmtpClient(); oSmtp->SendMail(oServer, oMail); Console::WriteLine("This email has been submitted to server successfully!"); } catch (Exception ^exp) { Console::WriteLine("Exception: {0}", exp->Message); } }
See Also
User Authentication and SSL Connection
From, ReplyTo, Sender and Return-Path
Process Bounced Email (Non-Delivery Report) and Email Tracking
Online Tutorial
Send Email over SSL/TLS in C#
Send Email using Gmail in C#
Send Email using Yahoo in C#
Send Email using Hotmail/Live in C#
Send Email over SSL/TLS in VB
Send Email using Gmail in VB
Send Email using Yahoo in VB
Send Email using Hotmail/Live in VB
Send Email over SSL/TLS in C++/CLI
Send Email using Gmail in C++/CLI
Send Email using Yahoo in C++/CLI
Send Email using Hotmail/Live in C++/CLI