见标题。由于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);
}
答案 0 :(得分:7)
如果出现立即错误,SmtpClient::Send()
会抛出exception。没有办法“跟踪”电子邮件(除非有一些确认链接点击或其他)。在收到邮件之前,您不会保持服务器连接,直到您的smtp服务器成功通过它(或者这样做失败)。