有没有办法检查 SmtpClient 是否成功发送电子邮件? SmtpClient.Send() 似乎除了异常之外没有返回任何内容。那么,如果该方法完成,是否可以安全地假设电子邮件将成功发送到相应的电子邮箱?我的代码如下:
MailMessage emailMessage = new MailMessage();
emailMessage.Subject = SubjectText;
emailMessage.IsBodyHtml = IsBodyHtml;
emailMessage.Body = BodyText;
emailMessage.From = new MailAddress(Settings.Default.FromEmail,Settings.Default.FromDisplayName);
//add recipients
foreach (string recipientAddress in RecipientAddresses.Split(new char[{','},StringSplitOptions.RemoveEmptyEntries))
emailMessage.To.Add(recipientAddress);
using (SmtpClient smtpClient = new SmtpClient())
{
smtpClient.Send(emailMessage);
}
最佳答案
不,没有可靠的方法来查明消息是否确实已送达。
这样做将需要您向每个发送电子邮件的人访问最终 SMTP 服务器。
如果没有出现异常,则可以假设 SMTP 服务器已尽力传送电子邮件。
关于asp.net - 如何检查 MailMessage 是否已在 .NET 中传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973725/