Я написал простой код для отправки электронной автогенерированной электронной почты с использованием пространства имен System.mail.Net.Почта не получает сообщение до тех пор, пока я не закончу свое приложение. System.Mail.Net
Это работает как шарм, но есть одна небольшая проблема.
Письмо не отправляется, пока мое приложение не будет завершено.
У вас есть обходной путь для этого?
Вот код, я использую (C#):
try
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Test test";
mail.Body = "blah blah";
mail.Attachments.Add(new Attachment("c:\\file.txt"));
SmtpClient smtp = new SmtpClient("myserver.mail.com");
smtp.Send(mail);
}
catch (SmtpFailedRecipientsException ex)
{
Console.WriteLine(ex);
}
Как я уже сказал, все работает, но почта не отправлять, до тех пор пока я прекратить применение.
Есть ли способ заставить его отправить почту сейчас?
Причина, по которой это проблема, заключается в том, что я хочу, чтобы почта была отправлена мгновенно без необходимости перезагрузки приложения, но также потому, что я хочу удалить вложение после отправки почты и когда почта не отправляется, поэтому файл помечен как «используемый» и поэтому не может быть удален.
С наилучшими пожеланиями
/S
Я был бы очень осторожен с этим. См. Http://stackoverflow.com/questions/930236/net-best-method-to-send-email-system-net-mail-has-issues для получения дополнительной информации – NotMe
Спасибо всем, кто ответил - это, казалось, сработало: D – Sagi1981