diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index fdb0caaf..eef2af1e 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -1905,7 +1905,7 @@ public abstract class ExchangeSession { * @throws IOException on error * @throws MessagingException on error */ - protected void loadMimeMessage() throws IOException, MessagingException { + public void loadMimeMessage() throws IOException, MessagingException { if (mimeMessage == null) { // try to get message content from cache if (this.imapUid == messageList.cachedMessageImapUid) { @@ -1940,7 +1940,7 @@ public abstract class ExchangeSession { return mimeMessage; } - public Enumeration getMatchingHeaderLines(String[] headerNames) throws MessagingException, IOException { + public Enumeration getMatchingHeaderLinesFromHeaders(String[] headerNames) throws MessagingException, IOException { Enumeration result = null; if (mimeMessage == null) { // message not loaded, try to get headers only @@ -1949,6 +1949,11 @@ public abstract class ExchangeSession { result = new InternetHeaders(headers).getMatchingHeaderLines(headerNames); } } + return result; + } + + public Enumeration getMatchingHeaderLines(String[] headerNames) throws MessagingException, IOException { + Enumeration result = getMatchingHeaderLinesFromHeaders(headerNames); if (result == null) { result = getMimeMessage().getMatchingHeaderLines(headerNames); } @@ -2000,6 +2005,10 @@ public abstract class ExchangeSession { mimeBody = null; } + public boolean isLoaded() { + return mimeMessage != null; + } + /** * Delete message. *