Ste*_*cya 3 c# system.net.mail
我需要检查邮件是否发送给现有收件人
这是我的代码
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
}
Run Code Online (Sandbox Code Playgroud)
但是,当没有收件人时,SmtpFailedRecipientsException永远不会发生
有没有办法配置SmtpServer来触发此异常?
Chr*_*aas 11
问题是GMail在SMTP事务期间没有说用户是无效的.原因是垃圾邮件制造者过去常常执行字典攻击,寻找"bob@gmail.com"和"tom@gmail.com"等.任何未被标记为"不存在"的地址都将成为有效地址.因此,大多数SMTP服务器现在只接受SMTP事务期间的所有地址,并且只是静默地删除无效地址或稍后发送退回消息.在任何一种情况下,代码都无法确定这一点.