/// <summary> /// 保存 /// </summary> /// <param name="smtpSettings"></param> public static void SaveSmtpSetting(this EmailService service, SmtpSettings smtpSettings) { ISmtpSettingsRepository smtpSettingsRepository = new SmtpSettingsRepository(); if (smtpSettings.Id > 0) smtpSettingsRepository.Update(smtpSettings); else smtpSettingsRepository.Insert(smtpSettings); }
public SmtpSettingsChild(SmtpSettings smtpSettings) { this.DailyLimit = smtpSettings.DailyLimit; this.EnableSsl = smtpSettings.EnableSsl; this.ForceSmtpUserAsFromAddress = smtpSettings.ForceSmtpUserAsFromAddress; this.Host = smtpSettings.Host; this.Id = smtpSettings.Id; this.IsDeletedInDatabase = smtpSettings.IsDeletedInDatabase; this.Password = smtpSettings.Password; this.Port = smtpSettings.Port; this.RequireCredentials = smtpSettings.RequireCredentials; this.UserEmailAddress = smtpSettings.UserEmailAddress; this.UserName = smtpSettings.UserName; }
/// <summary> /// EmailServiceProvider构造器,读取Email.config /// </summary> /// <param name="xNode">单个节点</param> public EmailServiceProvider(XmlNode xNode) { SiteUrl = xNode.Attributes.GetNamedItem("SiteUrl").InnerText; //邮件服务器网站主页 DomainName = xNode.Attributes.GetNamedItem("DomainName").InnerText; //邮件服务器地址 if (xNode.HasChildNodes) { XmlNode smtp = xNode.SelectSingleNode("smtp"); if (smtp!=null) { SmtpSettings = new SmtpSettings(); SmtpSettings.Host = smtp.Attributes.GetNamedItem("Host").InnerText;//服务器域名 SmtpSettings.Port = Convert.ToInt32(smtp.Attributes.GetNamedItem("Port").InnerText);//端口号 SmtpSettings.EnableSsl = Convert.ToBoolean(smtp.Attributes.GetNamedItem("EnableSsl").InnerText);//smtp服务器是否启用ssl SmtpSettings.RequireCredentials = Convert.ToBoolean(smtp.Attributes.GetNamedItem("RequireCredentials").InnerText);//smtp服务器是否需要验证身份 SmtpSettings.UserEmailAddress = smtp.Attributes.GetNamedItem("UserEmailAddress").InnerText; //用户邮件地址 SmtpSettings.UserName = smtp.Attributes.GetNamedItem("UserName").InnerText;//帐号 SmtpSettings.Password = smtp.Attributes.GetNamedItem("Password").InnerText; //密码 SmtpSettings.ForceSmtpUserAsFromAddress = Convert.ToBoolean(smtp.Attributes.GetNamedItem("ForceSmtpUserAsFromAddress").InnerText);//smtp服务器是否强制smtp登录用户作为发件人 } } }
/// <summary> /// 转换为数据存储实体 /// </summary> /// <returns></returns> public SmtpSettings AsSmtpSettings() { SmtpSettings settings = new SmtpSettings(); if (this.Id > 0) settings = new EmailService().GetSmtpSettings(this.Id); settings.Host = this.Host; settings.DailyLimit = this.DailyLimit; settings.EnableSsl = this.EnableSsl; settings.ForceSmtpUserAsFromAddress = this.ForceSmtpUserAsFromAddress; settings.Host = this.Host; settings.Password = this.Password; settings.Port = this.Port; settings.RequireCredentials = this.RequireCredentials; settings.UserEmailAddress = this.UserEmailAddress; settings.UserName = this.UserName; return settings; }
/// <summary> /// 获取用来测试的Email /// </summary> /// <param name="settings">Smtp设置</param> /// <returns></returns> private static MailMessage GetTestEmail(SmtpSettings settings) { MailMessage mail = new MailMessage(); mail.Body = string.Format("测试邮件,如果您能够看到此封邮件,则证明您邮箱 {0} 配置是可用的", settings.UserEmailAddress); mail.BodyEncoding = Encoding.UTF8; mail.From = new System.Net.Mail.MailAddress(settings.UserEmailAddress); mail.IsBodyHtml = false; mail.Sender = new System.Net.Mail.MailAddress(settings.UserEmailAddress); mail.Subject = "测试邮件"; mail.SubjectEncoding = Encoding.UTF8; mail.To.Add(settings.UserEmailAddress); return mail; }
/// <summary> /// 获取StmpClient /// </summary> private static SmtpClient GetSmtpClient(SmtpSettings smtpSettings = null) { SmtpClient client = null; IEmailSettingsManager emailSettingsManager = DIContainer.Resolve<IEmailSettingsManager>(); EmailSettings settings = emailSettingsManager.Get(); if (smtpSettings == null) smtpSettings = settings.SmtpSettings; client = new SmtpClient(smtpSettings.Host, smtpSettings.Port); client.EnableSsl = smtpSettings.EnableSsl; //for SMTP Authentication if (smtpSettings.RequireCredentials) { client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(smtpSettings.UserName, smtpSettings.Password); client.DeliveryMethod = SmtpDeliveryMethod.Network; } return client; }
private SmtpClient GetSmtpClient(SmtpSettings smtpSettings = null) { if (smtpSettings == null) { IEmailSettingsManager emailSettingsManager = DIContainer.Resolve<IEmailSettingsManager>(); EmailSettings emailSettings = emailSettingsManager.Get(); smtpSettings = emailSettings.SmtpSettings; } SmtpClient smtpClient = new SmtpClient(smtpSettings.Host, smtpSettings.Port); smtpClient.EnableSsl = smtpSettings.EnableSsl; if (smtpSettings.RequireCredentials) { smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(smtpSettings.UserName, smtpSettings.Password); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; } return smtpClient; }