/// <summary> /// Save SMTP settings to web.config. /// </summary> /// <param name="smtp">The SmtpSetting object.</param> public static void Save(SmtpSettings smtp) { var xdoc = new XmlDocument(); var filename = HttpContext.Current.Server.MapPath("~/Web.config"); xdoc.Load(filename); var smtpSeciton = xdoc.SelectSingleNode("configuration/system.net/mailSettings/smtp"); var netSection = xdoc.SelectSingleNode("configuration/system.net/mailSettings/smtp/network"); var network = netSection;//xmlDoc.DocumentElement.SelectSingleNode("network"); network.Attributes["port"].Value = smtp.Port.ToString(); network.Attributes["userName"].Value = smtp.UserName; network.Attributes["password"].Value = smtp.Password; network.Attributes["host"].Value = smtp.Host; network.Attributes["enableSsl"].Value = smtp.EnableSsl.ToString().ToLower(); network.Attributes["defaultCredentials"].Value = smtp.DefaultCredentials.ToString().ToLower(); xdoc.Save(filename); }
private static MailMessage GetMailMessage(Message message, SmtpSettings smtpConfig) { var mailMsg = new MailMessage(); if (!string.IsNullOrEmpty(smtpConfig.DisplayName)) mailMsg.From = new MailAddress(smtpConfig.From, smtpConfig.DisplayName); foreach (var addr in message.To) { if (string.IsNullOrEmpty(addr.DisplayName)) mailMsg.To.Add(addr.Email); else mailMsg.To.Add(new MailAddress(addr.Email, addr.DisplayName)); } mailMsg.SubjectEncoding = Encoding.UTF8; mailMsg.BodyEncoding = Encoding.UTF8; mailMsg.Subject = message.Subject; mailMsg.Body = message.Body; mailMsg.IsBodyHtml = message.ContentType.Equals("text/html"); return mailMsg; }