SmtpStartTls Method
Requests the mail server to start TLS/SSL negotiation and protect the connection with security layer.

Namespace: MailBee.SmtpMail
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 11.2.0 build 590 for .NET 4.5
Syntax
public bool StartTls()

Return Value

Type: Boolean
true if TLS/SSL negotiation succeeded and the connection is now secured with TLS/SSL layer; otherwise, false.
Exceptions
ExceptionCondition
MailBeeExceptionAn error occurred and ThrowExceptions is true.
Remarks

The developer must call Hello method prior to calling StartTls. Also, Hello method must be called again after StartTls since TLS/SSL negotiation resets the connection.

As alternative to calling StartTls method, the developer can ask MailBee to start TLS/SSL negotiation automatically by setting SslMode property value to OnConnect or UseStartTls.

AutodetectPortAndSslMode property may cause MailBee to automatically enable TLS/SSL for some well-known hosts or ports even if SslMode property of the current connection (specified by SmtpServer object) has its default value.

Note Note
Not all mail servers support TLS/SSL functionality. Also, some servers support only newest TLS versions (see SslProtocol topic for details).
Examples
This sample attempts to establish TLS/SSL connection with the SMTP server, logs in an account on this server and sends a mail message on success.
// To use the code below, import MailBee namespaces at the top of your code.
using MailBee;
using MailBee.SmtpMail;

// The actual code (put it into a method of your class)

Smtp mailer = new Smtp();
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
mailer.Connect();
mailer.Hello();
if (!mailer.IsSslConnection)
{
    mailer.StartTls();
    mailer.Hello();
}
mailer.Login();
mailer.From.Email = "jdoe@domain.com";
mailer.To.Add("kathy@company.com");
mailer.Subject = "Report";
mailer.BodyPlainText = "The report contents";
mailer.Send();
mailer.Disconnect();
See Also