SmtpClient发邮件的BUG?

[ 756 查看 / 2 回复 ]

用SmtpClient类发送邮件,如果接收人邮箱地址有无效的地址,则用同步发送可以发送出去,别的接收人能收到邮件。但是用异步发送就所有人都收不到邮件,不如为何?
  1. SmtpClient _SmtpClient = new SmtpClient();
  2. _SmtpClient.Host = “邮箱服务器”;
  3. _SmtpClient.Credentials = new NetworkCredential(“用户名”, “密码”);

  4. MailMessage message = new MailMessage();
  5. message.From = new MailAddress(“发送人", "发送人", Encoding.GetEncoding(936));
  6. message.To.Add("tianhu.jin@hampoo.com");  //这是个正确的地址
  7. message.To.Add("jieyuan.jin@hampoo.com");//这是个无效的地址
  8. message.Subject = "111";
  9. message.Body = "222";

  10. //同步发送,[email]tianhu.jin@hampoo.com[/email]这个邮箱能收到邮件
  11. _SmtpClient.Send(_MailMessage);

  12. //异步发送,收不到
  13. _SmtpClient.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
  14. _SmtpClient.SendAsync(message, null);
复制代码
TOP

你不是一个人!
用Send,不要用SendAsync,尽管它有提供,但未必可靠.
TOP

以我的理解,微软既然提供了方法,就应该是可用的才对。。。
话说很多类微软都提供异步操作的方法,难道那些也都不可靠么?比如流操作
TOP