예제 #1
0
        private void SaveEmailSettings()
        {
            MessageDisplay            msgDisplay = CreateMessageDisplay("smtpserver", "SmtpServerAccount", "SmtpServerPassword", "SenderEmail", "Port");
            int                       line       = 0;
            EmailSendServerCollection emails     = new EmailSendServerCollection();

            int[] emailIDs = _Request.GetList <int>("emailids", Method.Post, new int[0]);

            EmailSettings settings = new EmailSettings();

            bool enableSend = _Request.Get <bool>("EnableSendEmail", Method.Post, false);

            if (enableSend)
            {
                foreach (int i in emailIDs)
                {
                    bool            isnew     = _Request.Get <bool>("isnew." + i, Method.Post, false);
                    string          keysubfix = isnew ? ".new." + i : "." + i;
                    EmailSendServer email     = new EmailSendServer();

                    email.EmailID            = i;
                    email.SmtpServer         = _Request.Get("smtpserver" + keysubfix, Method.Post);
                    email.SmtpServerAccount  = _Request.Get("SmtpServerAccount" + keysubfix, Method.Post);
                    email.SmtpServerPassword = _Request.Get("SmtpServerPassword" + keysubfix, Method.Post);
                    email.SenderEmail        = _Request.Get("senderemail" + keysubfix, Method.Post);
                    email.EnableSSL          = _Request.Get <bool>("EnableSSL" + keysubfix, Method.Post, false);
                    email.Port = _Request.Get <int>("Port" + keysubfix, Method.Post, 0);

                    ValidateEmail(email, msgDisplay, line);

                    emails.Add(email);

                    line++;
                }
                settings.SendServers = emails;

                if (emails.Count == 0)
                {
                    msgDisplay.AddError(new CustomError("开启邮件发送功能时至少填写一个Email帐号"));
                }
            }
            else
            {
                settings.SendServers = AllSettings.Current.EmailSettings.SendServers;
            }

            settings.EnableSendEmail = enableSend;

            if (!msgDisplay.HasAnyError())
            {
                SettingManager.SaveSettings(settings);
            }

            m_Emails = settings.SendServers;
        }
예제 #2
0
        private void SaveEmailSettings()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay("smtpserver","SmtpServerAccount","SmtpServerPassword","SenderEmail","Port");
            int line = 0;
            EmailSendServerCollection emails = new EmailSendServerCollection();
            int[] emailIDs = _Request.GetList<int>("emailids", Method.Post, new int[0]);

            EmailSettings settings = new EmailSettings();

            bool enableSend = _Request.Get<bool>("EnableSendEmail", Method.Post, false);
         
            if (enableSend)
            {
                foreach (int i in emailIDs)
                {
                    bool isnew = _Request.Get<bool>("isnew." + i, Method.Post, false);
                    string keysubfix = isnew ? ".new." + i : "." + i;
                    EmailSendServer email = new EmailSendServer();

                    email.EmailID = i;
                    email.SmtpServer = _Request.Get("smtpserver" + keysubfix, Method.Post);
                    email.SmtpServerAccount = _Request.Get("SmtpServerAccount" + keysubfix, Method.Post);
                    email.SmtpServerPassword = _Request.Get("SmtpServerPassword" + keysubfix, Method.Post);
                    email.SenderEmail =_Request.Get("senderemail"+keysubfix,Method.Post);
                    email.EnableSSL = _Request.Get<bool>("EnableSSL" + keysubfix, Method.Post, false);
                    email.Port = _Request.Get<int>("Port" + keysubfix, Method.Post,0);

                    ValidateEmail(email,msgDisplay,line);

                    emails.Add(email);

                    line++;
                }
                settings.SendServers = emails;

                if (emails.Count == 0)
                {
                    msgDisplay.AddError(new CustomError("开启邮件发送功能时至少填写一个Email帐号"));
                }
            }
            else
            {
                settings.SendServers = AllSettings.Current.EmailSettings.SendServers;
            }

            settings.EnableSendEmail = enableSend;

            if (!msgDisplay.HasAnyError())
            {
                SettingManager.SaveSettings(settings);
            }

            m_Emails = settings.SendServers;
        }
예제 #3
0
        public virtual void Send()
        {
            EmailSettings settings = AllSettings.Current.EmailSettings;

            if (settings.EnableSendEmail == false)
            {
                return;
            }

            if (string.IsNullOrEmpty(m_ToEmail))
            {
                return;
            }

            EmailSendServerCollection servers = settings.SendServers;

            EmailSendServer selected = null;

            if (servers.Count > 1)
            {
                Random rnd      = new Random();
                int    rndIndex = rnd.Next(0, 10000000) % servers.Count;
                selected = servers[rndIndex];
            }
            else if (servers.Count == 1)
            {
                selected = servers[0];
            }
            else
            {
                return;
            }


            selected.BeginSendMail(this);

            //selected.UseTimes++;
            //return selected;
        }