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(); }
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("Отправка писем завершена"); }