コード例 #1
0
        public SendMessageEmailService()
        {
            InitializeComponent();

            kernel = new StandardKernel();
            kernel.Bind <ISystemEmailMessageRepository>().To <SystemEmailMessageRepository>();
            kernel.Bind <ISystemEmailMessageRepository_OTP>().To <SystemEmailMessageRepository_OTP>();
            kernel.Bind <ISystemEmailMessageRepository_PDO>().To <SystemEmailMessageRepository_PDO>();
            kernel.Bind <ISettingsRepository>().To <SettingsRepository>();
            kernel.Bind <ISystemEmailMessageRepository_NOZ>().To <SystemEmailMessageRepository_NOZ>();

            systemEmailMessageRepo    = kernel.Get <ISystemEmailMessageRepository>();
            otpSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_OTP>();
            pdoSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_PDO>();
            pdoSettingsRepo           = kernel.Get <ISettingsRepository>();
            nozSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_NOZ>();
        }
コード例 #2
0
        public void OnTimer(object sender, System.Timers.ElapsedEventArgs args)
        {
            if (isSending)
            {
                return;
            }

            isSending = true;
            SmtpClient client = new SmtpClient();

            try
            {
                client.Host           = ConfigurationManager.AppSettings["SmtpHost"];
                client.Port           = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPort"]);//Port 465 (SSL required)
                client.EnableSsl      = Convert.ToBoolean(ConfigurationManager.AppSettings["SmtpEnableSsl"]);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Timeout        = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpTimeout"]);

                if (Convert.ToBoolean(ConfigurationManager.AppSettings["HasCredentials"]))
                {
                    client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["Password"]);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                }

                systemEmailMessageRepo.UpdateFailedMessges();

                List <SystemEmailMessage> emailList = systemEmailMessageRepo.GetUnprocessedEmails();
                DataTypesHelper.LogThis("List of Unproccessed mail's. Count: " + emailList.Count.ToString());
                foreach (var item in emailList)
                {
                    SendMessages(client, item, null);
                }
            }
            catch (Exception ex)
            {
                DataTypesHelper.LogThis("CRM:" + ex.Message);
            }
            finally
            {
                isSending = false;
            }

            try
            {
                otpSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_OTP>();

                //OTP MAIL SETTINGS
                client                = new SmtpClient();
                client.Host           = ConfigurationManager.AppSettings["SmtpHostOTP"];
                client.Port           = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPortOTP"]);//Port 465 (SSL required)
                client.EnableSsl      = Convert.ToBoolean(ConfigurationManager.AppSettings["SmtpEnableSslOTP"]);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Timeout        = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpTimeout"]);

                if (Convert.ToBoolean(ConfigurationManager.AppSettings["HasCredentialsOTP"]))
                {
                    client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["UsernameOTP"], ConfigurationManager.AppSettings["PasswordOTP"]);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                }



                otpSystemEmailMessageRepo.UpdateFailedMessges();

                List <SystemEmailMessage_OTP> otpEmailList = otpSystemEmailMessageRepo.GetUnprocessedEmails();
                DataTypesHelper.LogThis("List of OTP Unproccessed mail's. Count: " + otpEmailList.Count.ToString());
                foreach (var item in otpEmailList)
                {
                    SendMessages(client, null, item);
                }
            }
            catch (Exception ex)
            {
                DataTypesHelper.LogThis("OTP : " + ex.Message);
            }
            finally
            {
                isSending = false;
            }
            try
            {
                pdoSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_PDO>();
                pdoSettingsRepo           = kernel.Get <ISettingsRepository>();

                DataTypesHelper.LogThis("PDO Mailing setup");
                //PDO MAIL SETTINGS
                client                = new SmtpClient();
                client.Host           = ConfigurationManager.AppSettings["SmtpHostPDO"];
                client.Port           = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPortPDO"]);//Port 465 (SSL required)
                client.EnableSsl      = Convert.ToBoolean(ConfigurationManager.AppSettings["SmtpEnableSslPDO"]);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Timeout        = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpTimeout"]);

                if (Convert.ToBoolean(ConfigurationManager.AppSettings["HasCredentialsPDO"]))
                {
                    client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["UsernamePDO"], ConfigurationManager.AppSettings["PasswordPDO"]);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                }



                pdoSystemEmailMessageRepo.UpdateFailedMessges();

                List <SystemEmailMessage_PDO> pdoEmailList = pdoSystemEmailMessageRepo.GetUnprocessedEmails();
                DataTypesHelper.LogThis("List of PDO Unproccessed mail's. Count: " + pdoEmailList.Count.ToString());
                foreach (var item in pdoEmailList)
                {
                    SendMessages(client, null, null, item);
                }
            }
            catch (Exception ex)
            {
                DataTypesHelper.LogThis("PDO" + ex.Message);
            }
            finally
            {
                isSending = false;
            }

            try
            {
                nozSystemEmailMessageRepo = kernel.Get <ISystemEmailMessageRepository_NOZ>();

                DataTypesHelper.LogThis("NOZ Mailing setup");
                // NOZ MAIL SETTINGS
                client      = new SmtpClient();
                client.Host = ConfigurationManager.AppSettings["SmtpHostNOZ"];
                DataTypesHelper.LogThis("NOZ - 1");
                client.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpPortNOZ"]);//Port 465 (SSL required)
                DataTypesHelper.LogThis("NOZ - 2");
                client.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["SmtpEnableSslNOZ"]);
                DataTypesHelper.LogThis("NOZ - 3");
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                DataTypesHelper.LogThis("NOZ - 4");
                client.Timeout = Convert.ToInt32(ConfigurationManager.AppSettings["SmtpTimeout"]);
                DataTypesHelper.LogThis("NOZ - 5");
                if (Convert.ToBoolean(ConfigurationManager.AppSettings["HasCredentialsNOZ"]))
                {
                    client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["UsernameNOZ"], ConfigurationManager.AppSettings["PasswordNOZ"]);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                }
                DataTypesHelper.LogThis("NOZ - 6");
                nozSystemEmailMessageRepo.UpdateFailedMessges();
                DataTypesHelper.LogThis("NOZ - 7");
                List <SystemEmailMessage_NOZ> nozEmailList = nozSystemEmailMessageRepo.GetUnprocessedEmails();
                DataTypesHelper.LogThis("List of NOZ Unproccessed mail's. Count: " + nozEmailList.Count.ToString());
                foreach (var item in nozEmailList)
                {
                    SendMessages(client, null, null, null, item);
                }
            }
            catch (Exception ex)
            {
                DataTypesHelper.LogThis("NOZ: " + ex.Message);
            }
            finally
            {
                isSending = false;
            }
        }
コード例 #3
0
 public SettingsController(ISettingsRepository isettingsRepo, ISystemEmailMessageRepository_PDO ImailsRepo, ISettingsNOZRepository IsettingsNOZRepo, ISystemEmailMessageRepository_NOZ ImailsNOZRepo, ISystemEmailMessageRepository_OTP iOTPmailsRepo)
 {
     settingsRepo    = isettingsRepo;
     mailsRepo       = ImailsRepo;
     NOZmailsRepo    = ImailsNOZRepo;
     settingsNOZRepo = IsettingsNOZRepo;
     OTPmailsRepo    = iOTPmailsRepo;
 }