sakemail求救!(100分)

  • 主题发起人 主题发起人 main
  • 开始时间 开始时间
M

main

Unregistered / Unconfirmed
GUEST, unregistred user!
我用SAKEMAIL收发MAIL时碰到如下问题:
我想先查看一下所有MAIL的HEADER,然后决定接收哪些邮件,
我也确实成功地将所有MAIL的HEADER一个接一个地显示出来了。
这时一切正常。
但是如果我不关闭程序,SAKPOP也不QUIT,稍微等一会了,
再来调上一封信或下一封信时,程序就出错了,
好象是报“ERROR -1”。

我看SAKEMAIL的例子也是上来先把所有MAIL接收过来,然后马上QUIT;
然后在本机内存中慢慢处理!
是不是SAKEMAIL必须一次将所有MAIL全调到内存?
好象时间一长就不行了。
 
应该是在一次通讯过程中,下载所有您需要的信息,
吊在那里占用服务器的资源不行,超时后服务器也会强制中断与您的连接。
 
嗯,每个机器应该都有一个超时机制,过一定时间就会自动
断开连接。所以最好下载完后就断开,下次需要在重新连接。
 
有没有这个可能:收HEADER时,仅收到了HEADER,而没收到信。
 
不可能吧。
 
pop3服务器超过一定时间没活动就关了连接
 
那末,是否说如果我要受信的话,就必须把所有内容一起收下来。可否只收文件
的地址,来源,时间等信息。
 
那当然可以,我还以为你说服务器收信的时候只收到Header,呵呵。
Sakmail可以只收信头的,然后你可以根据信头判断是否要把整封信
收下来。
 
sakemail可以先收信的HEADER,然后再决定是否收整封信,但是必须一次
完成全部操作,然后马上断开。下次操作重新连接!
 
多人接受答案了。
 
当然可以先只接收E-mail Headers部分,Sakmail提供了这样一个接口
RetrieveHeaders( msgID:word ),返回的是一个字符串,包含了所有的头信息,
可以分解得到From, SendTo,Date等信息。

也可以参照Sakmail的RetrieveMessage()函数代码,自己写一个接受头信息和分
解头信息的函数。
 
后退
顶部