//Builds initial order email and sends it public void SendEmail() { sender.Send(Email .From(emailAddress: "*****@*****.**") .To(emailAddress: recepient.Email, name: recepient.Last_Name + ", " + recepient.First_Name) .Subject(subject: "Service Invoice") .Body(body: "This is an email to inform you of a requested payment from Company A \n" + body) ); }
private void btnSendAtOnce_Click(object Sender, RoutedEventArgs e) { // Извлекаем исходные параметры по возможности if (!(cbSenderSelect.SelectedItem is Sender sender)) { return; } if (!(RecipientsList.SelectedItem is Recipient recipient)) { return; } if (!(cbSmtpSelect.SelectedItem is Server server)) { return; } if (!(MessagesList.SelectedItem is Message message)) { return; } // Если одни из параметров невозможно получить, то выходим // Создаём объект-рассыльщик и заполняем параметры сервера var mail_sender = new SmtpSender( server.Address, server.Port, server.UseSSL, server.Login, server.Password); // При отправке почты может возникнуть проблема. Ставим перехват исключения. try { // Запускаем таймер var timer = Stopwatch.StartNew(); // И запускаем процесс отправки почты mail_sender.Send( sender.Address, recipient.Address, message.Tittle, message.Body); timer.Stop(); // По завершении останавливаем таймер // Если почта успешно отправлена, то отображаем диалоговое окно MessageBox.Show( $"Почта успешно отправлена за {timer.Elapsed.TotalSeconds:0.##}c", "Отправка почты", MessageBoxButton.OK, MessageBoxImage.Information); } // Если случилась ошибка, то перехватываем исключение catch (SmtpException) // Перехватывает строго нужное нам исключение! { MessageBox.Show( "Ошибка при отправке почты", "Отправка почты", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void ButtonSendNow_OnClick(object sender, RoutedEventArgs e) { if (!(ComboBoxSenders.SelectedItem is Sender sender_)) { return; } if (!(DataGridRecirients.SelectedItem is Recipient recipient)) { return; } if (!(ComboBoxServers.SelectedItem is Server server)) { return; } if (!(ListBoxMessages.SelectedItem is Message message)) { return; } if (string.IsNullOrEmpty(TextBoxMailMessage.Text)) { MessageBox.Show("Письмо без текста нельзя отправить, пожалуйста заполните тело письма.", "Отмена отправки письма", MessageBoxButton.OK, MessageBoxImage.Stop); TabItemLetter.IsSelected = true; return; } var mailSender = new SmtpSender(server.Address, server.Port, server.UseSSL, server.Login, server.Password); try { var timer = Stopwatch.StartNew(); mailSender.Send(sender_.Address, recipient.Address, message.Title, message.Body); timer.Stop(); MessageBox.Show($"Почтовое сообщение успешно отправлено за {timer.Elapsed.TotalSeconds:0.##} секунд", "Отправка почты", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception ex) { MessageBox.Show("Ошибка отправки почты!", "Отправка почты", MessageBoxButton.OK, MessageBoxImage.Error); } }
public SendResponse Send(IFluentEmail email, CancellationToken?token = null) { var smtpSender = new SmtpSender(_smtpClient); return(smtpSender.Send(email, token)); }