Пример #1
0
 /// <summary>
 /// 同步发送Text邮件模版
 /// </summary>
 /// <param name="emailEnum">模版类型</param>
 /// <param name="to">接受人(单个)</param>
 /// <param name="parameters">模版参数【key】【value】</param>
 /// <param name="action">发送邮件成功调用的方法</param>
 public static void SendEmailText(EmailEnum emailEnum, string to, Dictionary <string, string> parameters, Action <bool> action)
 {
     SendEmail(emailEnum, new List <string>()
     {
         to
     }, false, parameters, action);
 }
Пример #2
0
 /// <summary>
 /// 同步发送邮件模版
 /// </summary>
 /// <param name="emailEnum">模版类型</param>
 /// <param name="to">接受人(单个)</param>
 /// <param name="isbodyHtml">是否是Html</param>
 /// <param name="parameters">模版参数【key】【value】</param>
 /// <param name="action">发送邮件成功调用的方法</param>
 public static void SendEmail(EmailEnum emailEnum, string to, bool isbodyHtml, Dictionary <string, string> parameters, Action <bool> action)
 {
     SendEmail(emailEnum, new List <string>()
     {
         to
     }, isbodyHtml, parameters, action);
 }
Пример #3
0
 /// <summary>
 /// 异步发送HTML邮件模版
 /// </summary>
 /// <param name="emailEnum">模版类型</param>
 /// <param name="to">接受人(单个)</param>
 /// <param name="parameters">模版参数【key】【value】</param>
 /// <param name="action">发送邮件成功调用的方法</param>
 public static void SendEmailHtmlAsync(EmailEnum emailEnum, string to, Dictionary <string, string> parameters, Action <bool> action)
 {
     SendEmailAsync(emailEnum, new List <string>()
     {
         to
     }, true, parameters, action);
 }
Пример #4
0
 public EmailModel(EmailEnum emailEnum, string subject, string body, IList <string> received, bool isBodyHtml, bool isAsync)
 {
     this.EmailEnum  = emailEnum;
     this.Subject    = subject;
     this.Body       = body;
     this.IsBodyHtml = isBodyHtml;
     this.Received   = received;
     this.IsAsync    = isAsync;
 }
Пример #5
0
        public static IEmailProvider getEmailInstance(EmailEnum emailProvider)
        {
            IEmailProvider _emailProvider;

            switch (emailProvider.ToString())
            {
            case "MailGun":
                _emailProvider = new MailGunProvider();
                break;

            case "SendGrid":
                _emailProvider = new SendGridProvider();
                break;

            default:
                _emailProvider = new SendGridProvider();
                break;
            }
            return(_emailProvider);
        }
Пример #6
0
        public void SendEmail(EmailEnum emailEnum, string toEmail, string otherContent, Int32 programId)
        {
            try
            {
                switch (emailEnum)
                {
                case EmailEnum.NewAccountOpen:
                    NewAccountOpened(toEmail);
                    break;

                case EmailEnum.CompanyNewUserNotification:
                    CompanyNewUserNotification(toEmail);
                    break;

                case EmailEnum.SendInvitation:
                    SendInvitation(toEmail, otherContent);
                    break;

                case EmailEnum.SendResetEmail:
                    SendResetEmail(toEmail, otherContent);
                    break;

                case EmailEnum.SendRandomizedProgramToLoggedInUser:
                    SendRandomizedProgramToLoggedInUser();
                    break;

                case EmailEnum.SendToPatient:
                    SendToPatient(toEmail, programId, otherContent);
                    break;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #7
0
        public static AbstractTemplate ProcessTemplate(EmailEnum emailEnum)
        {
            switch (emailEnum)
            {
            case EmailEnum.Register:
                return(new RegisterTemplate());

                break;

            case EmailEnum.FindPwd:
                return(new FindPwdTemplate());

                break;

            case EmailEnum.UpdateEmail:
                return(new UpdateEmailTemplate());

                break;

            default:
                throw new ArgumentNullException("emailEnum");
                break;
            }
        }
Пример #8
0
 /// <summary>
 /// 异步发送邮件模版
 /// </summary>
 /// <param name="emailEnum">模版类型</param>
 /// <param name="to">接受人(多个)</param>
 /// <param name="isbodyHtml">是否是Html</param>
 /// <param name="parameters">模版参数【key】【value】</param>
 /// <param name="action">发送邮件成功调用的方法</param>
 public static void SendEmailAsync(EmailEnum emailEnum, IList <string> to, bool isbodyHtml, Dictionary <string, string> parameters, Action <bool> action)
 {
     SendEmailAsync(to, EnumHelper.GetEnumDescription(emailEnum), EmailFactory.ProcessTemplate(emailEnum).GetTemplate(parameters), isbodyHtml, action);
 }
Пример #9
0
 /// <summary>
 /// 同步发送Text邮件模版
 /// </summary>
 /// <param name="emailEnum">模版类型</param>
 /// <param name="to">接受人(多个)</param>
 /// <param name="parameters">模版参数【key】【value】</param>
 /// <param name="action">发送邮件成功调用的方法</param>
 public static void SendEmailText(EmailEnum emailEnum, IList <string> to, Dictionary <string, string> parameters, Action <bool> action)
 {
     SendEmail(to, EnumHelper.GetEnumDescription(emailEnum), EmailFactory.ProcessTemplate(emailEnum).GetTemplate(parameters), false, action);
 }
Пример #10
0
 public EmailModel(EmailEnum emailEnum, string subject, string body, string received, bool isBodyHtml, bool isAsync)
     : this(emailEnum, subject, body, new List <string>() { received }, isBodyHtml, isAsync)
 {
 }
Пример #11
0
 /// <summary>
 /// 添加队列
 /// </summary>
 /// <param name="emailEnum">邮件类型</param>
 /// <param name="received">多个接收人</param>
 /// <param name="isBodyHtml">是否是html</param>
 /// <param name="isAsync">是否是异步</param>
 /// <param name="parameters">传入的动态参数</param>
 public static void AddQueue(EmailEnum emailEnum, IList <string> received, bool isBodyHtml, bool isAsync, Dictionary <string, string> parameters)
 {
     AddQueue(new EmailModel(emailEnum, EnumHelper.GetEnumDescription(emailEnum), EmailFactory.ProcessTemplate(emailEnum).GetTemplate(parameters), received, isBodyHtml, isAsync));
 }