Exemplo n.º 1
0
        public Task SendMessageAsync(IEmail mail)
        {
            return(Task.Run(() =>
            {
                using (var client = new SmtpClient())
                {
                    lock (_configSyncHandle)
                    {
                        Console.WriteLine(Configuration.ToString());
                        Console.WriteLine(mail.ToString());
                        mail.From = Configuration.Username;

                        // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
                        client.ServerCertificateValidationCallback = (s, c, h, e) => true;

                        client.Connect(Configuration.Host, Configuration.Port, true);

                        // Note: since we don't have an OAuth2 token, disable
                        // the XOAUTH2 authentication mechanism.
                        client.AuthenticationMechanisms.Remove("XOAUTH2");

                        // Note: only needed if the SMTP server requires authentication
                        if (Configuration.UseAuthentication)
                        {
                            client.Authenticate(Configuration.Username, Configuration.Password);
                        }

                        client.Send(mail.ToMimeMessage());
                        client.Disconnect(true);
                    }
                }
            }));
        }