Esempio n. 1
0
        public async Task SendEmail(ConnectionData connectionData, MailData mailData)
        {
            using (var message = new MailMessage(FromAddress(mailData), ToAddress(mailData)))
            {
                if (!string.IsNullOrEmpty(mailData.Cc))
                {
                    var cc = new MailAddress(mailData.Cc);
                    message.CC.Add(cc);
                }
                if (!string.IsNullOrEmpty(mailData.Bcc))
                {
                    var bcc = new MailAddress(mailData.Bcc);
                    message.Bcc.Add(bcc);
                }
                if (!string.IsNullOrEmpty(mailData.SubjectLine))
                {
                    message.Subject = mailData.SubjectLine;
                }
                if (!string.IsNullOrEmpty(mailData.Body))
                {
                    message.Body = mailData.Body;
                }

                using (var client = new System.Net.Mail.SmtpClient())
                {
                    client.Host      = connectionData.ServerName;
                    client.Port      = connectionData.PortNumber;
                    client.EnableSsl = connectionData.EnableTls;
                    if (connectionData.AuthenticationRequired)
                    {
                        client.UseDefaultCredentials = false;
                        client.Credentials           = new NetworkCredential(connectionData.UserName, connectionData.Password);
                    }
                    else
                    {
                        client.UseDefaultCredentials = true;
                    }
                    await client.SendMailAsync(message);
                }
            }
        }
Esempio n. 2
0
 protected static MailAddress ToAddress(MailData mail)
 {
     return(!string.IsNullOrEmpty(mail.ToDisplayName) ? new MailAddress(mail.To, mail.ToDisplayName) : new MailAddress(mail.To));
 }
Esempio n. 3
0
 protected static MailAddress FromAddress(MailData mail)
 {
     return(!string.IsNullOrEmpty(mail.FromDisplayName) ? new MailAddress(mail.From, mail.FromDisplayName) : new MailAddress(mail.From));
 }