GetEMailSettings() публичный статический Метод

public static GetEMailSettings ( ) : EMailSettings
Результат EMailSettings
Пример #1
0
        public static bool SendMail(string fromEmail, List <string> emailTo, List <string> emailCC, string subjectLine,
                                    string bodyText, bool isHTML, List <string> attachments)
        {
            HttpContext   context      = HttpContext.Current;
            EMailSettings mailSettings = EMailSettings.GetEMailSettings();

            if (String.IsNullOrEmpty(fromEmail))
            {
                fromEmail = mailSettings.ReturnAddress;
            }

            if (emailTo != null && emailTo.Any())
            {
                MailMessage message = new MailMessage {
                    From       = new MailAddress(fromEmail),
                    Subject    = subjectLine,
                    Body       = bodyText,
                    IsBodyHtml = isHTML
                };

                message.Headers.Add("X-Computer", Environment.MachineName);
                message.Headers.Add("X-Originating-IP", context.Request.ServerVariables["REMOTE_ADDR"].ToString());
                message.Headers.Add("X-Application", "Carrotware Web " + CurrentDLLVersion);
                message.Headers.Add("User-Agent", "Carrotware Web " + CurrentDLLVersion);
                message.Headers.Add("Message-ID", "<" + Guid.NewGuid().ToString().ToLower() + "@" + mailSettings.MailDomainName + ">");

                foreach (var t in emailTo)
                {
                    message.To.Add(new MailAddress(t));
                }

                if (emailCC != null)
                {
                    foreach (var t in emailCC)
                    {
                        message.CC.Add(new MailAddress(t));
                    }
                }

                if (attachments != null)
                {
                    foreach (var f in attachments)
                    {
                        Attachment         a    = new Attachment(f, MediaTypeNames.Application.Octet);
                        ContentDisposition disp = a.ContentDisposition;
                        disp.CreationDate     = System.IO.File.GetCreationTime(f);
                        disp.ModificationDate = System.IO.File.GetLastWriteTime(f);
                        disp.ReadDate         = System.IO.File.GetLastAccessTime(f);
                        message.Attachments.Add(a);
                    }
                }

                using (SmtpClient client = new SmtpClient()) {
                    if (mailSettings.DeliveryMethod == SmtpDeliveryMethod.Network &&
                        !String.IsNullOrEmpty(mailSettings.MailUserName) &&
                        !String.IsNullOrEmpty(mailSettings.MailPassword))
                    {
                        client.Host        = mailSettings.MailDomainName;
                        client.Credentials = new NetworkCredential(mailSettings.MailUserName, mailSettings.MailPassword);
                    }
                    else
                    {
                        client.Credentials = new NetworkCredential();
                    }

                    client.Send(message);
                }
            }

            return(true);
        }