2012-01-16 408 views
3

查看标题。由于SmtpClient.Send没有返回值,我想知道如何确保电子邮件已成功发送。如何检查电子邮件是否已成功发送?

这里是我到现在为止的代码,它工作正常(这是从谷歌):

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服务器成功传递(或失败)为止,您将不会保留服务器连接。

相关问题