I found this link in the Javamail forum.
How do I get Javamail to clear the message cache?
. "", , - . IMAPMessage , MIMEMessage, . , , IMAPMessage. MIMEMessage . , . InternetHeaders.remove(String)
public void removeHeader(String name) {
for (int i = 0; i < headers.size(); i++) {
InternetHeader h = (InternetHeader)headers.get(i);
if (name.equalsIgnoreCase(h.getName())) {
h.line = null;
}
}
}
, , MessageCache, .
Field headerField = MimeMessage.class.getDeclaredField("headers");
headerField.setAccessible(true);
InternetHeaders headers = (InternetHeaders) headerField.get(imapMessage);
if (headers != null) {
Enumeration<?> allHeaders = headers.getAllHeaders();
ArrayList<String> headerNames = new ArrayList<String>();
while (allHeaders.hasMoreElements()) {
Header header = (Header) allHeaders.nextElement();
headerNames.add(header.getName());
}
for (String headerName : headerNames) {
headers.setHeader(headerName, null);
}
}
, 40 20 . , . , IMAPMessage, .