예제 #1
0
        public static bool SendMail(MailConfig mailConfig)
        {
            bool useThirdPartMailServer = bool.Parse(ConfigurationManager.AppSettings.Get("UseThirdPartMailServer"));

            if (useThirdPartMailServer)
            {
                return(SendMailWithSLL(mailConfig));
            }
            else
            {
                return(SendMailWithDefault(mailConfig));
            }
        }
예제 #2
0
        public static bool SendMailWithSLL(MailConfig mailConfig)
        {
            //if the switch: SendNoticeEmail was set to false,it will not send mail.
            bool isSendEmail = bool.Parse(ConfigurationManager.AppSettings.Get("IfSendEmail"));

            if (!isSendEmail)
            {
                return(true);
            }

            try
            {
                string mailServer        = ConfigurationManager.AppSettings.Get("SMTPServerAddress").ToString();
                int    emailServerPortal = int.Parse(ConfigurationManager.AppSettings.Get("SMTPServerPort"));

                string mailUserName = ConfigurationManager.AppSettings.Get("SMTPUserAccount");
                string mailPassword = ConfigurationManager.AppSettings.Get("SMTPUserPassword");

                mailConfig.Host         = mailServer;
                mailConfig.Port         = emailServerPortal;
                mailConfig.UserName     = mailUserName;
                mailConfig.UserPassword = mailPassword;
                mailConfig.FromAddress  = mailUserName;
                mailConfig.FromDisplay  = mailUserName;

                MailMessage mailMessage = new MailMessage();
                mailMessage.From = new MailAddress(mailConfig.FromAddress, mailConfig.FromDisplay);
                if (mailConfig.ToAddresses != null)
                {
                    for (int i = 0; i < mailConfig.ToAddresses.Count; i++)
                    {
                        string address = mailConfig.ToAddresses[i].Trim();
                        if (address != "")
                        {
                            mailMessage.To.Add(new MailAddress(address));
                        }
                    }
                }

                mailMessage.Subject      = mailConfig.Subject;
                mailMessage.Body         = mailConfig.Body;
                mailMessage.IsBodyHtml   = true;
                mailMessage.BodyEncoding = Encoding.UTF8;

                SmtpClient sc = new SmtpClient(mailConfig.Host, mailConfig.Port);

                sc.DeliveryMethod = SmtpDeliveryMethod.Network;
                sc.EnableSsl      = true;
                sc.Credentials    = new NetworkCredential(mailConfig.UserName, mailConfig.UserPassword);

                //sc.Send(mailMessage);
                //mailMessage.Dispose();

                sc.SendMailAsync(mailMessage);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }