C# 电子邮件发送失败

C# 电子邮件发送失败,c#,.net,smtp,C#,.net,Smtp,如果我有电子邮件地址列表,其中一个无效 做客户端发送(电子邮件)返回失败/异常?这是SmtpClient类的全部内容,在询问以下问题之前,应始终阅读该类: 使用“发送到多个收件人”发送电子邮件时,如果SMTP服务器将某些收件人视为有效收件人并拒绝其他收件人,则“发送”会将电子邮件发送到接受的收件人,然后引发SmtpFailedRecipientsException。异常将包含被拒绝的收件人的列表 是如果一个或多个收件人地址不正确或无法访问,SMTPClient的Send(MailMessage)

如果我有电子邮件地址列表,其中一个无效

客户端发送(电子邮件)返回失败/异常?

这是SmtpClient类的全部内容,在询问以下问题之前,应始终阅读该类:

使用“发送到多个收件人”发送电子邮件时,如果SMTP服务器将某些收件人视为有效收件人并拒绝其他收件人,则“发送”会将电子邮件发送到接受的收件人,然后引发SmtpFailedRecipientsException。异常将包含被拒绝的收件人的列表


是如果一个或多个收件人地址不正确或无法访问,SMTPClient的Send(MailMessage)方法会引发异常。

是和否。对于服务器本地地址(如果从abc@domain.com到def@domain.com)邮件服务器可能会立即返回错误,但一般来说,邮件服务器异步处理请求,如果收件人地址无效,则不会返回任何错误。

您是否尝试联机查看,MSDN。。。很抱歉,我们有一个生产问题,尽管如此,我还是会在这里得到专家的建议。同意,我应该先看看MSDN。这是不正确的,有一个特定的Asnyc方法可以调用。SmtpClient.SendAsync!不是真的。服务器异步处理请求,而不管它们是如何发送的。想象一下你是从alice@gmail.com到bob@hotmail.com. GMail将接受您的请求,不会出现任何错误诊断,即使bob@hotmail.com邮箱不存在。但稍后你会收到一封电子邮件,说你的信息无法传递。您可能会收到SmtpFailedRecipientException,但仅当您在同一域内发送并且邮件服务器设置为立即拒绝时,才会收到。来自MSDN SmtpFailedRecipientException“表示当SmtpClient无法完成对特定收件人的发送或发送异步操作时引发的异常。”这并不取决于它是否是同一个域,这很重要,它取决于邮件服务器的响应以及响应代码。只要尝试在域之间和域内发送到不存在的邮箱,您就会得到我所说的结果。这是真实世界的体验,而不是MSDN。缺少SmtpFailedRecipientException并不是收件人邮件地址存在的指标。您是唯一一个谈论“邮件地址存在”的人,它与SmtpClient、Asncronous邮件处理,甚至与问题标记为的.Net无关。如果问题是我如何判断电子邮件地址在.Net SmtpClient中是否有效,那么您的回答可能会有点相关,但即使如此,我还是怀疑。