public EmailAccount SaveInfo() { string email = txtEmailAddress.Text; string displayName = txtDisplayName.Text; string host = txtHost.Text; int port = 0; if (!String.IsNullOrEmpty(txtPort.Text)) port = Convert.ToInt32(txtPort.Text); string username = txtUser.Text; string password = txtPassword.Text; bool enableSSL = cbEnableSsl.Checked; bool useDefaultCredentials = cbUseDefaultCredentials.Checked; var emailAccount = this.MessageService.GetEmailAccountById(this.EmailAccountId); if (emailAccount != null) { emailAccount.Email = email; emailAccount.DisplayName = displayName; emailAccount.Host = host; emailAccount.Port = port; emailAccount.Username = username; emailAccount.Password = password; emailAccount.EnableSSL = enableSSL; emailAccount.UseDefaultCredentials = useDefaultCredentials; this.MessageService.UpdateEmailAccount(emailAccount); } else { emailAccount = new EmailAccount() { Email = email, DisplayName = displayName, Host = host, Port = port, Username = username, Password = password, EnableSSL = enableSSL, UseDefaultCredentials = useDefaultCredentials }; this.MessageService.InsertEmailAccount(emailAccount); } return emailAccount; }
/// <summary> /// Sends an email /// </summary> /// <param name="subject">Subject</param> /// <param name="body">Body</param> /// <param name="from">From</param> /// <param name="to">To</param> /// <param name="bcc">BCC</param> /// <param name="cc">CC</param> /// <param name="emailAccount">Email account to use</param> public void SendEmail(string subject, string body, MailAddress from, MailAddress to, List<string> bcc, List<string> cc, EmailAccount emailAccount) { var message = new MailMessage(); message.From = from; message.To.Add(to); if (null != bcc) foreach (string address in bcc) { if (address != null) { if (!String.IsNullOrEmpty(address.Trim())) { message.Bcc.Add(address.Trim()); } } } if (null != cc) foreach (string address in cc) { if (address != null) { if (!String.IsNullOrEmpty(address.Trim())) { message.CC.Add(address.Trim()); } } } message.Subject = subject; message.Body = body; message.IsBodyHtml = true; var smtpClient = new SmtpClient(); smtpClient.UseDefaultCredentials = emailAccount.UseDefaultCredentials; smtpClient.Host = emailAccount.Host; smtpClient.Port = emailAccount.Port; smtpClient.EnableSsl = emailAccount.EnableSSL; if (emailAccount.UseDefaultCredentials) smtpClient.Credentials = CredentialCache.DefaultNetworkCredentials; else smtpClient.Credentials = new NetworkCredential(emailAccount.Username, emailAccount.Password); smtpClient.Send(message); }
/// <summary> /// Sends an email /// </summary> /// <param name="subject">Subject</param> /// <param name="body">Body</param> /// <param name="from">From</param> /// <param name="to">To</param> /// <param name="emailAccount">Email account to use</param> public void SendEmail(string subject, string body, string from, string to, EmailAccount emailAccount) { SendEmail(subject, body, new MailAddress(from), new MailAddress(to), new List<String>(), new List<String>(), emailAccount); }
/// <summary> /// Sends an email /// </summary> /// <param name="subject">Subject</param> /// <param name="body">Body</param> /// <param name="from">From</param> /// <param name="to">To</param> /// <param name="emailAccount">Email account to use</param> public void SendEmail(string subject, string body, MailAddress from, MailAddress to, EmailAccount emailAccount) { SendEmail(subject, body, from, to, new List<String>(), new List<String>(), emailAccount); }
/// <summary> /// Inserts an email account /// </summary> /// <param name="emailAccount">Email account</param> public void InsertEmailAccount(EmailAccount emailAccount) { if (emailAccount == null) throw new ArgumentNullException("emailAccount"); emailAccount.Email = CommonHelper.EnsureNotNull(emailAccount.Email); emailAccount.DisplayName = CommonHelper.EnsureNotNull(emailAccount.DisplayName); emailAccount.Host = CommonHelper.EnsureNotNull(emailAccount.Host); emailAccount.Username = CommonHelper.EnsureNotNull(emailAccount.Username); emailAccount.Password = CommonHelper.EnsureNotNull(emailAccount.Password); emailAccount.Email = emailAccount.Email.Trim(); emailAccount.DisplayName = emailAccount.DisplayName.Trim(); emailAccount.Host = emailAccount.Host.Trim(); emailAccount.Username = emailAccount.Username.Trim(); emailAccount.Password = emailAccount.Password.Trim(); emailAccount.Email = CommonHelper.EnsureMaximumLength(emailAccount.Email, 255); emailAccount.DisplayName = CommonHelper.EnsureMaximumLength(emailAccount.DisplayName, 255); emailAccount.Host = CommonHelper.EnsureMaximumLength(emailAccount.Host, 255); emailAccount.Username = CommonHelper.EnsureMaximumLength(emailAccount.Username, 255); emailAccount.Password = CommonHelper.EnsureMaximumLength(emailAccount.Password, 255); _context.EmailAccounts.AddObject(emailAccount); _context.SaveChanges(); }