如何接收smtp服务器返回的错误信息

                    如何接收smtp服务器返回的错误信息

如:mail地址不存在,或者不对,或者未发送成功,等等的发送问题?

需求:其实只是想实现把无效地址,或者多次发送未成功,然后把此邮件地址加入黑名单而已

n9walker:当一个邮件服务器服务传递邮件到目的地,它会返回一封邮件到发送者的邮箱,但并不是立即返回,也许  过了几天才返回,这依赖邮件服务器的设置。所以,一种可以考虑的方法来处理这个问题,是定时检查邮箱看是否有退信。如果24或者48个小时,没有退信,我们就确认该邮件已经发送成功

brianLei: smtpclient类中不是有一个回调事件吗,但是使用了总是感觉不是那回事。 那我想问在使用outlook,一般新用户新建时,在完成新建之后,outlook都会去检查和接收( pop,smtp服务器)是否有问题? 如果有问题,一般都会返回错误信息的

n9walker:这只是检查服务器,你的代码一样可以做到,如果无法发送邮件,就会有一个异常
          但如果邮件服务器没有问题,而是邮件接收地址有问题,这就不行了


brianLei: 我说的就是“邮件服务器没有问题,而是邮件接收地址有问题”的情况
         这个不行了。就是说,无法实现及时检查。只能能过24,48小时的检查来实现是吗


n9walker: 对,但发送邮件的时候,有一个设置那就是要求接收方返回一个信息,如果接收到的话,不过这也是不是可靠的
          一般我们的应用程序并不处理发送地址错误问题,除非你在邮件服务器上进行编程,我们可以读取邮件服务器的死信目录,如果存在死信,那么该邮件肯定是没有发送成功.比如说windows系统自带的smtp服务,它的死信目录在你的邮件服务器虚拟目录里面,邮件服务器首先把发布不出去的邮件放入死信目录,然后每隔一定的时间会重发一次,若干次之后,如果还不能发送,那么该邮件就会被删除.


大家看了以上的对话,有没有什么方法可以及时检查“邮件服务器没有问题,而是邮件接收地址有问题”的情况”

*因此问题比较急,发到提问区回复太慢了。所以暂发到“首页”求解!

posted @ 2007-12-26 16:56  RicoRui  阅读(2261)  评论(9编辑  收藏  举报