Я пытаюсь создать систему для отправки информационных бюллетеней с моего веб-сайта.
Я создаю ее как консольное приложение, которое я буду ежедневно выполнять из планировщика Windows.
Я хочуУ меня есть некоторые входы в систему, поэтому я добавляю самую простую «функцию» журнала.
Письма отправляются нормально, но я хотел бы записать в журнал, когда письмо отправлено.Проблема в том, что я не знаю, как получить событие от SmtpClient, когда письмо было отправлено или письмо не было отправлено.
public void SendMails(List<Agent> agents, string logfilename)
{
foreach (Agent agent in agents)
{
MailMessage mail = new MailMessage();
mail.....
SmtpClient client = new SmtpClient();
client.....
try
{
client.Send(mail);
WriteLog(logfilename, "Sent mail to: " + mail.To[0].Address);
}
catch (SmtpException smtpexception)
{
WriteLog(logfilename, "SMTP EXCEPTION: " + smtpexception.Message);
}
catch (Exception e)
{
WriteLog(logfilename, "EXCEPTION: " + e.Message);
}
}
}
public void WriteLog(string filename, string message)
{
TextWriter tw = new StreamWriter(@"c:\MailLogs\" + filename + ".txt");
tw.WriteLine(message);
tw.Close();
}
Итак, как мне изменить код, чтобы я могнапишите журнал после того, как программа действительно узнает, отправлено письмо или нет ...