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