前两个问题跟你的邮件服务器有关系,newMessageCount不是谁都支持,标记也是。邮件排序你可以取出邮件头自己排序。附件我没有碰到过你这样的问题,你应该描述的再详细一点,或者把代码贴出来。

解决方案 »

  1.   

    附件的问题已经解决了.用我原来的用的是FileWriter和FileReader,这两个类在与Stream交换数据的时候会根据系统内码对文件进行转换.只有文字文件不受影响,其他格式的文件在转换中都会出现问题.后来改用FileInputStream和FileOutput后就解决了!
    如果NewMessageCount和标记邮件服务器不能支持的话.有什么好的办法解决吗?我现在用的是sina.com和163.com的免费邮箱在做测试.
    排序的问题我还是有些不明白,能否给个小例子或者讲解的详细一些!
    谢谢!
      

  2.   

    ……
    javamail的包里不时有例子吗??
      

  3.   

    1.利用pop3协议访问邮箱的时候,getNewMessageCount(),getUnreadMessageCount()等判断新邮件的方法都是不起作用的,pop3协议不提供判断新邮件的功能,sina.com和163.com好像只开发pop3协议的访问方式.如果一定要用,只能在本地建立邮件列表,并且和邮箱中的邮件比较,才能取得新邮件的信息,看一下foxmail的判新邮件方式就知道了.2.setFlag要用Folder类下的setFlags方法,而且似乎要关闭folder重开才生效,例如
    void delete(Message message) {
      inbox.setFlags(new Message[]{message},Flags.Flag.DELETED,true);
      inbox.close();
      inbox.open(Folder.READ_WRITE);
    }(代码没经过测试,可能有错误)3.我印象中用Folder下的getMessage(int msgnum),根据msgnum排序是可以得到正确的Message序列的.