// Метод отправки сообщения из методички с дополнеными мной измененеиями по ДЗ void SendMessage(object sender, RoutedEventArgs e) { if (CheckUserLogin() && CheckRecepientEmail()) //Проверка корректность заполнения всех Текст боксов { _emailSendService = new EmailSendServiceClass(_viewMailSender.SubjectTextBx.Text, _viewMailSender.RecipientTextBx.Text, _viewMailSender.MessageTextBx.Text); try { var smtp = new SmtpClient() { Host = WpfTestMailSender.HOST, Port = WpfTestMailSender.PORT, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, Credentials = new NetworkCredential(_viewMailSender.LoginTextBx.Text, _viewMailSender.PasswordTextBx.Password) }; using (var message = new MailMessage(_emailSendService._mailfrom, _emailSendService._mailTo) { Subject = _emailSendService._subject, Body = _emailSendService._text }) { smtp.Send(message); } _viewMailSender.ErrTxtBlock.Text = WpfTestMailSender.MESSAGE_DONE; _viewMailSender.ErrTxtBlock.Foreground = Brushes.Green; _viewMailSender.ErrTxtBlock.Visibility = Visibility.Visible; } catch (Exception ex) { _viewMailSender.ErrTxtBlock.Text = ex.Message; _viewMailSender.ErrTxtBlock.Visibility = Visibility.Visible; } } }
/// <summary> /// Отложенная рассылка писем /// </summary> /// <param name="dtSend">Дата отправки</param> /// <param name="emailSender">Рассыльщик</param> /// <param name="emails">Адреса получателей</param> /// <param name="mailSender">Объект основной формы для обработки заврешения рассылки из другого потока</param> public void SendEmails(DateTime dtSend, EmailSendServiceClass emailSender, IQueryable <Email> emails, MailSender mailSender) { _emailSender = emailSender; emailSender.ShowResultOfSend += mailSender.SendEndWindowCreate; _dtSend = dtSend; _emails = emails; _timer.Tick += TimerOnTick; _timer.Interval = new TimeSpan(0, 0, 1); _timer.Start(); }
private void SendAtOnce() { var strLogin = cbSenderSelect.Text; var strPassword = cbSenderSelect.SelectedValue.ToString(); if (string.IsNullOrEmpty(strLogin)) { MessageBox.Show("Выберите отправителя"); return; } if (string.IsNullOrEmpty(strPassword)) { MessageBox.Show("Укажите пароль отправителя"); return; } var emailSender = new EmailSendServiceClass(strLogin, strPassword); emailSender.SendMails(locator.Main.Emails); }
private void btnSendEmail_Click(object sender, RoutedEventArgs e) { List <string> listStrMails = new List <string> { "*****@*****.**", "*****@*****.**" }; // Список email'ов //кому мы отправляем письмо string strPassword = passwordBox.Password; // для WinForms - string strPassword = passwordBox.Text; EmailSendServiceClass emailSend = new EmailSendServiceClass(listStrMails); emailSend.SendMail(WpfTestMailSender.mail, strPassword, TexBox_Name.Text, TexBox_Text.Text); //foreach (string mail in listStrMails) //{ // // Используем using, чтобы гарантированно удалить объект MailMessage после использования // using (MailMessage mm = new MailMessage(WpfTestMailSender.from, mail)) // { // // Формируем письмо // mm.Subject = WpfTestMailSender.subject; // Заголовок письма // mm.Body = WpfTestMailSender.body; // Тело письма // mm.IsBodyHtml = false; // Не используем html в теле письма // // Авторизуемся на smtp-сервере и отправляем письмо // // Оператор using гарантирует вызов метода Dispose, даже если при вызове // // методов в объекте происходит исключение. // using (SmtpClient sc = new SmtpClient(WpfTestMailSender.smtp, WpfTestMailSender.port)) // { // sc.EnableSsl = true; // sc.Credentials = new NetworkCredential(WpfTestMailSender.mail, strPassword); // try // { // sc.Send(mm); // } // catch (Exception ex) // { // MessageBox.Show("Невозможно отправить письмо " + ex.ToString()); // } // } // } //using (MailMessage mm = new MailMessage("*****@*****.**", mail)) //} ////MessageBox.Show("Работа завершена."); //SendEndWindow sew = new SendEndWindow(); //sew.ShowDialog(); }
private void Send() { var sc = new SchedulerClass(); var tsSendTime = sc.GetSendTime(tbTimePicker.Text); if (tsSendTime == new TimeSpan()) { MessageBox.Show("Некорректный формат даты"); return; } var dtSendDateTime = (cldSchedulDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime); if (dtSendDateTime < DateTime.Now) { MessageBox.Show("Дата и время отправки писем не могут быть раньше, чем настоящее время"); return; } var emailSender = new EmailSendServiceClass(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString()); sc.SendEmails(dtSendDateTime, emailSender, locator.Main.Emails); }
private void BtnSend_Click(object sender, RoutedEventArgs e) { SchedulerClass sc = new SchedulerClass(); TimeSpan tsSendTime = sc.GetSendTime(tbTimePicker.Text); if (tsSendTime == new TimeSpan()) { MessageBox.Show("Некоректный формат даты"); return; } DateTime dtSendTime = (cldSchedulDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime); if (dtSendTime < DateTime.Now) { MessageBox.Show("Дата и время отправки не могут быть раньше, чем настоящее время!"); return; } EmailSendServiceClass emailSender = new EmailSendServiceClass(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString(), BodyPost.Text, SubjectPost.Text, cbSmtpSelect.Text, int.Parse(((KeyValuePair <string, int>)cbSenderSelect.SelectedItem).Value.ToString())); var locator = (ViewModelLocator)FindResource("Locator"); sc.SendEmails(emailSender, locator.Main.Emails); }