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;
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <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);
 }
Esempio n. 4
0
 /// <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);
 }
Esempio n. 5
0
        /// <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();
        }