Отправка E-Mail c#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Есть 2 проекта для отправки e-mail. Один - консольное приложение, второй - .Net приложение. Для отправки сообщения в обоих проектах используется один и тот же класс, отправка реализуется посредством вызова функции из этого класса. Консольное приложение работает отлично, сообщения отправляются и доходят до адресата, однако когда я пытаюсь использовать функцию через событие он_клик, приложение намертво виснет, и минуты через 3 выводит уведомление об ошибке отправки сообщения. С чем это может быть связано, и как починить? код класса:
Листинг программы
  1. class SendMail
  2. {
  3. public void sendMail(string smtpServer, string from, string password,
  4. string mailto, string caption, string message, string attachFile = null)
  5. {
  6. try
  7. {
  8. MailMessage mail = new MailMessage();
  9. mail.From = new MailAddress(from);
  10. mail.To.Add(new MailAddress(mailto));
  11. mail.Subject = caption;
  12. mail.Body = message;
  13. if (!string.IsNullOrEmpty(attachFile))
  14. mail.Attachments.Add(new Attachment(attachFile));
  15. SmtpClient client = new SmtpClient();
  16. client.Host = smtpServer;
  17. client.Port = 465;
  18. client.EnableSsl = true;
  19. client.Credentials = new NetworkCredential(from.Split('@')[0], password);
  20. client.DeliveryMethod = SmtpDeliveryMethod.Network;
  21. client.Send(mail);
  22. mail.Dispose();
  23. }
  24. catch (Exception e)
  25. {
  26. throw new Exception("Mail.Send: " + e.Message);
  27. }
  28. }
  29. }

Решение задачи: «Отправка E-Mail c#»

textual
Листинг программы
  1. catch (Exception e)
  2. {
  3.     throw new SmtpException("Mail.Send: " + e.Message, e);
  4. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут