Example #1
0
        private void BtnSend_Click(object sender, RoutedEventArgs e)
        {
            if (txtbxSubject.Text == "" || txtbxBody.Text == "")
            {
                MessageBox.Show("Заголовок и тело письма не должны быть пустыми");
                tabControl.SelectedItem = tbitmMail;
                return;
            }

            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(tbTimePicker.Text);

            if (tsSendTime == new TimeSpan())
            {
                MessageBox.Show("Некорректный формат даты");
                return;
            }
            DateTime dtSendDateTime = (cldSchedulDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время отправки писем не могут быть раньше, чем настоящее время");
                return;
            }

            WpfEmailSendService emailSender = new WpfEmailSendService(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString());

            emailSender.ShowMessage += msg => MessageBox.Show(msg);
            emailSender.SmtpServer   = txtbxSmtpServer.Text;
            //emailSender.SmtpServer = cbSmtpServer.Text;
            sc.SendMails(dtSendDateTime, emailSender, (IQueryable <Emails>)dgEmails.ItemsSource);
        }
 /// <summary>
 /// Отправка писем
 /// </summary>
 /// <param name="dtSend"></param>
 /// <param name="emailSender"></param>
 /// <param name="emails"></param>
 public void SendMails(DateTime dtSend, WpfEmailSendService emailSender, IQueryable <Emails> emails)
 {
     this.emailSender = emailSender; // Экземпляр класса, отвечающего за отправку писем, присваиваем
     this.dtSend      = dtSend;
     this.emails      = emails;
     timer.Tick      += Timer_Tick;
     timer.Interval   = new TimeSpan(0, 0, 1);
     timer.Start();
 }
Example #3
0
        private void BtnSendAtOnce_Click(object sender, RoutedEventArgs e)
        {
            string strLogin    = cbSenderSelect.Text;
            string strPassword = txtbxPassword.Password;

            //string strPassword = cbSenderSelect.SelectedValue.ToString();

            if (string.IsNullOrEmpty(strLogin))
            {
                MessageBox.Show("Выберите отправителя");
                return;
            }

            if (string.IsNullOrEmpty(strPassword))
            {
                MessageBox.Show("Укажите пароль отправителя");
                return;
            }

            if (txtbxSubject.Text == "" || txtbxBody.Text == "")
            {
                MessageBox.Show("Заголовок и тело письма не должны быть пустыми");
                tabControl.SelectedItem = tbitmMail;
                return;
            }

            List <string> listEmails = new List <string>();

            foreach (Emails em in dgEmails.ItemsSource)
            {
                listEmails.Add(em.Value);
            }

            WpfEmailSendService emailSender = new WpfEmailSendService(strLogin, strPassword);

            emailSender.ShowMessage += msg => MessageBox.Show(msg);

            //emailSender.SmtpServer = cbSmtpServer.Text;
            emailSender.SmtpServer = txtbxSmtpServer.Text;
            emailSender.SmtpPort   = (from f in DBClass.SmtpServers
                                      where f.Server == txtbxSmtpServer.Text
                                      select f.Port).ToList <int>()[0];

            emailSender.SendMails(MailSubject, MailBody, listEmails);
            MessageBox.Show("Отправка писем завершена");
        }