2012-01-16 6 views
3

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

Вот код, у меня до сих пор, и она отлично работает (это от 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); 
} 

ответ

7

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

Смежные вопросы