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