SmtpBeginStartTls Method |
Note: This API is now obsolete.
Namespace: MailBee.SmtpMail
[ObsoleteAttribute("This method is obsolete in .NET 4.5+. Use StartTlsAsync instead.")] public IAsyncResult BeginStartTls( AsyncCallback callback, Object state )
Exception | Condition |
---|---|
MailBeeInvalidStateException | There is already an operation in progress. |
// To use the code below, import MailBee namespaces at the top of your code. using MailBee; using MailBee.SmtpMail; // Put the code below inside your class. // TlsStarted event handler. private void OnTlsStarted(object sender, TlsStartedEventArgs e) { MessageBox.Show("TLS/SSL negotiation complete. Secure connection is ready."); } // The actual code. private void Form1_Load(object sender, System.EventArgs e) { Smtp mailer = new Smtp(); // Let MailBee process events. mailer.RaiseEventsViaMessageLoop = false; mailer.SmtpServers.Add("smtp.domain.com"); mailer.TlsStarted += new TlsStartedEventHandler(OnTlsStarted); mailer.Connect(); mailer.Hello(); // Initiate an asynchronous TLS/SSL negotiation. mailer.BeginStartTls(null, null); // Simulate some lengthy work here... for (int i = 0; i < 100; i++) { // Make a portion of the work. System.Threading.Thread.Sleep(10); // Process events which were raised during execution of the work above. mailer.Wait(0); } // If the connection was not established during execution of the lengthy // work, wait until it's established. mailer.Wait(); // End the connection request. mailer.EndStartTls(); // The connection is now under TLS/SSL layer! mailer.Hello(); // Disconnect from the server. mailer.Disconnect(); }