编程语言
首页 > 编程语言> > c# – SmtpFailedRecipientsException不工作

c# – SmtpFailedRecipientsException不工作

作者:互联网

我需要检查邮件是否发送给现有收件人

这是我的代码

        try
        {
            var smtpServer = new SmtpClient("smtp.gmail.com", 587)
            {
               Credentials = new System.Net.NetworkCredential(MAIL_FROM, PASSWORD),
               EnableSsl = true
            };

            var mail = new MailMessage();
            mail.From = MAIL_FROM
            mail.To.Add(new MailAddress("nonexisting@gmail.com"));
            mail.Subject = title;
            mail.Body = content;
            smtpServer.Send(mailMessage);
        }
        catch (SmtpFailedRecipientsException ex)
        {
             //   never occures
        }

但是,当没有收件人时,SmtpFailedRecipientsException永远不会发生

有没有办法配置SmtpServer来触发此异常?

解决方法:

问题是GMail没有说在SMTP事务期间用户是无效的.原因是垃圾邮件制造者过去常常执行字典攻击,寻找“bob@gmail.com”和“tom@gmail.com”等.任何未被标记为“不存在”的地址都将成为有效地址.因此,大多数SMTP服务器现在只接受SMTP事务期间的所有地址,并且只是静默地删除无效地址或稍后发送退回消息.在任何一种情况下,代码都无法确定这一点.

标签:c,system-net-mail
来源: https://codeday.me/bug/20190717/1483408.html