Как проверить, успешно ли отправлено письмо или нет? - PullRequest
3 голосов
/ 16 января 2012

Смотрите заголовок. Поскольку SmtpClient.Send не имеет возвращаемого значения, я хочу знать, как я могу быть уверен, что электронное письмо было успешно отправлено.

Вот код, который у меня есть до сих пор, и он отлично работает (это от Google):

private void sendMail(string strToAddress, string strFromAddress, string strSubject, string strBody)
{
    // new instance of MailMessage
    MailMessage mailMessage = new MailMessage();

    // Sender Address
    mailMessage.From = new MailAddress(strFromAddress);

    // Recepient Address
    mailMessage.To.Add(new MailAddress(strToAddress));

    // Subject 
    mailMessage.Subject = strSubject;

    // Body
    mailMessage.Body = strBody;

    // format of mail message
    mailMessage.IsBodyHtml = true;

    // new instance of Smtpclient
    SmtpClient mailSmtpClient = new SmtpClient("mail.lablabal.com");

    // mail sent
    mailSmtpClient.Send(mailMessage);
}

1 Ответ

7 голосов
/ 16 января 2012

В случае немедленной ошибки SmtpClient::Send() выдаст исключение .Нет способа «отследить» электронное письмо (если нет ссылки для подтверждения или чего-либо еще).Вы не будете сохранять соединение с сервером до тех пор, пока письмо не будет получено, только до тех пор, пока ваш SMTP-сервер не пройдет его успешно (или не сможет это сделать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...