如何检查电子邮件是否成功发送?

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);
}
1个回答

7

如果出现即时错误,SmtpClient::Send()将抛出一个异常。除非有一些确认链接可供点击或其他操作,否则无法“跟踪”电子邮件。您将不会一直保持与服务器的连接,直到邮件被接收,只需要在SMTP服务器成功传递或传递失败时保持连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接