asp.net - 如何检查 MailMessage 是否已在 .NET 中传递?

标签 asp.net smtpclient

有没有办法检查 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/

相关文章:

asp.net - 散列与加密密码

asp.net - 在网站和虚拟目录之间混合 .NET 版本以及 "server application unavailable"错误消息

c# - 我可以在调用 client.Send() 之前测试 SmtpClient 吗?

c# - 使用 SmtpClient 发送带有查询字符串的 url

c# - 访问<asp :FormView> field value from code behind.

c# - 如何从数组中查找字符串并将其分配给 c# asp.net 中的字符串

c# - 如何最好地管理 SMTP 客户端

c# - Outlook SMTPClient 服务器错误 5.3.4 5.2.0

c# - 发送电子邮件而不在“已发送”文件夹中留下副本

c# - CreateIdentityAsync 多次调用 FindByIdAsync