發送的郵件是否成功不在SMTP,而是你的郵件的收件著所在服務器,目標服務器負責判定是否找到收件人,SMTP找不到中繼或者收件著所在服務器時也不會立即返回錯誤.所以你只能監視你的發件地址,看是否有退件.以上個人見解

解决方案 »

  1.   

    邮件发送成功与否SMTP是应该知道的,至少SMTP发送时会得到是否发送成功的返回的。如果成功则把邮件从待发邮件队列(Queue文件夹)删除,不成功则邮件将重新进入待发邮件队列(Queue文件夹)如果在SMTP SERVER设置的尝试次数或时间限制内仍不能成功发送,则将邮件转移到存放不能投递且不能返回发送者的邮件(称为死信)(Badmail文件夹);
    C# 能不能得到SMTP SERVER确认指定邮件是否发送成功的消息??以上个人见解,大家讨论!
      

  2.   

    smtp协议本身就是简单协议。Simple Mail Transport Portocal
      

  3.   

    发送成功会有220的返回值的.当然你用System.Web.Mail是不可能看得到的.你自己telnet上一个smtp服务器,输入命令,不就什么都知道了.SMTP又不难.
      

  4.   

    you can Get Server Response.there is an example in C# corner ,maybe help you
    http://www.c-sharpcorner.com/Internet/SMTPMailProgramRS.asp
      

  5.   

    首先感谢大家的回复,可是大家回答的都不能解决我的问题,大家的的解释都停留在如何编写客户端发送邮件到MAIL 服务器上,可是没有讨论一个邮件服务器(如mail.hotmail.com)如果发送邮件失败会给你返回一个发送失败的信件,我是想知道如何通过程序捕捉这个事件,不是我发送到邮件服务器,而是邮件服务器向外发送的结果。