最近在做一个邮件到达提醒的程序,遇到几个问题,拿出来讨论讨论。思路:pop3 stat命令,通过前后两次调用统计功能,如果邮件数目变多,证明有新邮件。然后取得新邮件头,读出地址,显示。问题:
1)关于pop3收信顺序:按照文档,应该在服务器上,邮件按到达时间排序,但是我发现,网易(126,163)都不是,是乱排的(用telnet 验证过)。263是按照时间顺序排列的。我的思路是,通过数目改变判断邮件到达后,从原来邮件数+1就是新邮件数。由于163,126的不是按顺序排的,我就需要判断最新邮件的序号,很简单,把所有邮件头的时间部分排序就行了。但是问题来了,有的邮件这个部分是伪造的,如我263邮箱中的一封,这样结果就不对了。问问大家,有办法吗?
2)过于pop3 top命令,一些服务器,对这个命令支持有问题,比如pop.qq.com,我那的邮箱,有一封信,用top 1 0收的时候,就出err system error,其他的邮件都没事。这样的服务器短问题,有办法吗?取邮件头,连服务器等,我用的jmail,挺好用,没什么问题。