C# 它没有';当我通过C发送错误(不存在)邮件时,我不会陷入困境#

C# 它没有';当我通过C发送错误(不存在)邮件时,我不会陷入困境#,c#,email,smtp,send,C#,Email,Smtp,Send,我可以毫无问题地发送邮件。但我的代码也应该控制邮件地址是否正确。如果没有,则应进入挡块。但这不符合规定。因此,即使邮件地址不正确,我尝试发送的所有邮件似乎都已发送。请在此处输入代码 因此,我无法确定是否所有的邮件都发送到了邮件地址 using (var smtp = new SmtpClient()) { smtp.Host = emailSetting.Host; smtp.Ena

我可以毫无问题地发送邮件。但我的代码也应该控制邮件地址是否正确。如果没有,则应进入挡块。但这不符合规定。因此,即使邮件地址不正确,我尝试发送的所有邮件似乎都已发送。请在此处输入代码
因此,我无法确定是否所有的邮件都发送到了邮件地址

 using (var smtp = new SmtpClient())
                {
                    smtp.Host = emailSetting.Host;
                    smtp.EnableSsl = emailSetting.EnableSSL ?? true;
                    smtp.Port = Convert.ToInt32(emailSetting.Port);

                    smtp.UseDefaultCredentials = false;
                    var credentials = new NetworkCredential
                    {
                        UserName = emailSetting.EmailAdress,
                        Password = emailSetting.Password
                    };
                    smtp.Credentials = credentials;

                    int sendMailCount = 0;
                    var x = serviceEmail.GetQueueEmail();
                    foreach (var email in x.ToList())
                    {
                        using (var mailMessage = new MailMessage())
                        {
                            try
                            {
                                mailMessage.From = new MailAddress(emailSetting.EmailAdress, emailSetting.FromDisplayName);
                                mailMessage.To.Add("xyz@hotmail.com");//wrong email address
                                mailMessage.Subject = email.Subject;
                                mailMessage.IsBodyHtml = true;
                                mailMessage.Body = email.Body;
                                email.Status = EmailStatus.SEND;
                                smtp.Send(mailMessage);


                            }
                            catch (Exception ex)
                            {

                                email.Status = EmailStatus.FAILED;
                                continue;
                            }
                        }
                    }

你为什么期待
xyz@hotmail.com
是否被视为错误/不正确的电子邮件地址?从电子邮件地址标准的角度来看,它是完全有效的。“我不知道是否所有的邮件都发送到了邮件地址”-是的,这很正常。如果你想知道一封电子邮件是否被发送和阅读,你需要他们点击一个链接或类似链接。发送电子邮件时不知道会发生什么是完全正常的。作为一个比喻:如果我把200封信投进邮箱,我也不知道它们是否可以交付。xyz@hotmail.com这是一封很好的电子邮件,可能存在,请尝试在那里输入一个空字符串,然后再次尝试。我认为OP正在查找格式正确但不存在的异常。他把它放在问题的标题中:)假设你想检测到一个未知的收件人错误,你需要直接发送到接收域MX记录中指定的服务器,你很可能正在通过另一台服务器进行中继,该服务器只是在确认你的发送请求。