C# 未使用SmtpClient将电子邮件发送到某些电子邮件地址

C# 未使用SmtpClient将电子邮件发送到某些电子邮件地址,c#,.net,smtpclient,C#,.net,Smtpclient,我为客户端创建了一个简单的asp.net电子邮件表单,它使用SmtpClient类发送电子邮件。它非常基本,在大多数情况下都有效 该表单在许多网站中使用,但它只是间歇性地工作。代码总是有效的,不会抛出任何异常,它只是正确地工作,但会断断续续地工作,对于某些客户端,电子邮件永远不会到达收件人地址。如果对外部电子邮件(例如我的个人Hotmail帐户)进行更改,它将正常工作 我们已经要求收件人检查他们的垃圾邮件收件箱,但没有结果。如何跟踪这个问题?我如何知道我的客户端asp.net服务器已发送电子邮件

我为客户端创建了一个简单的asp.net电子邮件表单,它使用SmtpClient类发送电子邮件。它非常基本,在大多数情况下都有效

该表单在许多网站中使用,但它只是间歇性地工作。代码总是有效的,不会抛出任何异常,它只是正确地工作,但会断断续续地工作,对于某些客户端,电子邮件永远不会到达收件人地址。如果对外部电子邮件(例如我的个人Hotmail帐户)进行更改,它将正常工作


我们已经要求收件人检查他们的垃圾邮件收件箱,但没有结果。如何跟踪这个问题?我如何知道我的客户端asp.net服务器已发送电子邮件?在这种情况下,问题是否在收件人端?

查看您在hotmail帐户中收到的电子邮件的标题,并查看“发件人:”和“回复至:”字段设置为什么

然后查看您的源代码,将其与您要求的设置进行比较

您可能会从SMTP服务器收到一封跳转邮件,该邮件是您的或另一台正在发送到目标的SMTP服务器,并且可能会发送到电子邮件的发件人:地址


检查您是否有处理异常的代码,使用不正确的详细信息进行测试,并查看StatusCode返回的内容。

您是否可以控制SMTP服务器,以便访问其日志并查看发生的情况

如果没有,你可以设置一个你可以控制的SMTP服务器,它只是将电子邮件传递到真正的服务器,但会记录事情

您是否将发件人地址设置为有效地址,以便查看是否有任何失败消息返回


恐怕没有答案,但这些问题可能会给您一些有用的想法。

如果您的客户端正在使用Exchange server,则您可以使用邮件跟踪来查看邮件发生了什么情况。如果他们正在使用内置的IIS SMTP服务器,您也可以启用日志记录以查看发生的情况。像前面提到的第一篇文章一样,检查邮件标题并确保它们有效…

您可以访问属于发件人:地址的邮箱吗。任何传递错误都将发送到该地址

如果发件人地址不存在,则可能是邮件未送达的原因。一些邮件服务器检查发件人地址是否存在,试图阻止一些垃圾邮件