У меня есть простое консольное приложение, и я пытаюсь отправить почту через класс SMTP на C#, но почта не отправляется, приложение закрывается и никаких исключений также не создается. Проблемная строка — client.Send(msg).
У меня есть простое консольное приложение, и я пытаюсь отправить почту через класс SMTP на C#, но почта не отправляется, приложение закрывается и никаких исключений также не создается. Проблемная строка — client.Send(msg). [code]using (var client = new SmtpClient()) { client.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted); client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = True; client.Timeout = 20000; client.Credentials = new NetworkCredential(@ConfigurationManager.AppSettings["senderEmailAddress"].ToString(),@ConfigurationManager.AppSettings["senderEmailPassword"].ToString()); client.Host = "smtp.gmail.com;"
using (var msg = new MailMessage()) { msg.From = new MailAddress(@ConfigurationManager.AppSettings["senderEmailAddress"].ToString()); msg.Sender = new MailAddress(@ConfigurationManager.AppSettings["senderEmailAddress"].ToString()); msg.Subject = fileName; msg.Attachments.Add(new Attachment(OutputFilePath)); msg.To.Add(EmailAddress); client.Send(msg); }}
private void smtp_SendCompleted(object sender, AsyncCompletedEventArgs e) { if (e.Cancelled == true || e.Error != null) { throw new Exception(e.Cancelled ? "EMail sedning was canceled." : "Error: " + e.Error.ToString()); } } [/code] Можно ли как-нибудь получить исключение?