有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaMail停止自动发送已读回执

我正在用JavaMail开发一个邮件客户端(IMAP/SMTP)。这个客户机与Exchange 2010服务器进行对话,当我设置需要读回执的邮件中的标志时,该服务器会自动发送读回执。如何避免服务器发送这些收据?我试图从消息中删除“处置通知”标题,但出现以下异常:

javax.mail.IllegalWriteException: "IMAPMessage is read-only" 

即使我以READ_WRITE模式打开他们的文件夹。我读到这个问题是由于IMAP协议限制造成的。有没有办法不发送收据


共 (2) 个答案

  1. # 1 楼答案

    你不能在你的客户身上这么做。您的客户机不这样做,IMAP也没有提供配置Exchange的方法

    (此外,IMAP不提供修改消息的方法。消息一旦存储,就可以被任何客户端永久缓存,而不会被任何其他客户端修改。)

  2. # 2 楼答案

    正确的做法是重新配置服务器

    如果没有这些功能,您可以复制邮件,修改副本以删除标题,将副本附加到原始文件夹,然后删除原始文件夹。您需要使用IMAPMessage.setPeek方法来防止在原始消息上设置SEED标志。使用mimessage copy构造函数创建副本。请注意,如果消息太大,这将非常昂贵