自己用phpmailer写了个邮件发送程序,通过其它邮箱做smtp转发,好像是无法获知邮件是否成功送达或者被拒收了之类的反馈的。程序如果显示发送成功,只是成功送达转发的那个smtp邮箱了而已,并不表示成功送达了最终的收件人。
所以打算用自己的邮件发送服务器,可提供支持反向解析的IP,反正企业邮局所需要的环境我都可以搭建。现在的问题就是想针对每一封发送出去的邮件,程序直接获取邮件接收的反馈,并判断出来是什么信息,好做统计数据。不是写在邮件内容里的那种阅读回执,而是邮件接收服务器回执。不知道直接使用mail()函数或者phpmailer类是否能实现,或者其它API?或者需要接收返回邮件并判断,那么怎么判断?
问题很专业,请看清楚题目。
如果这样的设计是不可能的,请权威人士解答一下,因为我见到这样的程序了,虽然有点怀疑它的统计数据,但实际测试却发现它的统计数据截至目前还是对的。

解决方案 »

  1.   

    我是邮局系统小白,只知道Linux下可以用Sendmail、PostFix、qmail之类的开源系统,但具体怎么弄不清楚,如果通过这些系统完成上述功能呢?
    此帖欢迎讨论此类技术,对我有帮助的信息都有分给的
      

  2.   

    http://www.hbcms.com/cms/e7/361.html
    看下这个吧,了解一下,也许能得到些什么提示
      

  3.   

    这个有些帮助,至少可以用程序判断哪些信件是一定能送达的(而不是已经确认送达了)。
    这方面程序以前也见过,写得没这个好,之前的程序由于我也不清楚具体怎么用PHP和TELNET返回信息做判断,却又喜欢在这个关键部分一笔带过,好在有这么一个写好了的类可以用用。我先去测试一下
      

  4.   

    没做过,不好说。拒收有点麻烦吧?
    不知道以下思路行不行得通
    =====================================================
    发送个html邮件,然后嵌入个隐藏的iframe,链接上加入用户邮箱地址参数,然后链接到自己系统的某个统计页面,这样哪个用户是否读了哪封邮件,只要他察看邮件就可以知道了。
      

  5.   

    你的意思是是说你发了一封信到我的163邮箱,然后我在163邮件系统客户端删掉邮件,你要能知道?
    比较麻烦吧,删不删除是163邮件系统的事情了,你如何能知道?163提供api?
    或者你可以模拟登陆163邮箱查看邮件列表.
      

  6.   

    对于有没有发送到,可以分析服务器log日志.
    删除,一般基本上没有通知.
      

  7.   

    通过你自己的邮箱SMTP服务器中转的邮件应该是无法判断最终用户的状态吧。如果你跳过自己的SMTP服务器,直接向对方的SMTP服务器发送邮件就可以随时掌握邮件的发送情况了。
      

  8.   

    判断用户有没有阅读有一种方法。邮件内容用HTML方式发送,HTML中加入一个宽度为0的外部图片链接比如:<img src='http://你的网站/记录邮件是否阅读的程序地址?一些参数' width=0 height=0 />。这样一来,只要用户打开过这封邮件,你就能知道了。
      

  9.   

    你与邮件服务器连接,是socket连接,http协议,肯定会有返回头以及信息,你可以分析返回头以及信息,就很有可能知道以发送成功还是被拒收。
    至于回执,要看对方是否发送回执给你,这个不是一定可以收到的吧?你如何确定邮件的具体状态?已读,删除?
      

  10.   

    阅读回执我是打算用图片的方式(如17楼所说)获取,因为阅读回执是用户做出响应动作了,相对其实很容易获取了。所以这里就不讨论了。(其实这种方式也被现在相当多邮箱服务商都屏蔽掉了)
    关于怎么分析服务器LOG日志或者直接根据返回的头信息进行分析,这是重点,我需要获取的信息里不需要删除判断之类的,之所以提到这个,是指不需要打开就知道送达了的意思,我的意思就是,要靠打开才能获取的回执不是我这里要讨论的。
    再说一遍,我要的是送达通知
    送达通知
    送达通知
    送达通知
    送达通知
    送达通知不是阅读通知!
      

  11.   

    送达或者拒收,
    都可以通过分析mail服务器日志来完成.
      

  12.   

    如果用的postfix怎么分析?我不知道日志格式
      

  13.   

    http://www.phpchina.com/html/03/32003-12568.html看看这篇文章的分析吧
      

  14.   

    顶贴~!随便做下广告
    PHP MYSQL CMS交流群88286077
      

  15.   

    QQ邮箱就能做到判断mail是否已投递到对方邮箱服务器。