aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--imap.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/imap.go b/imap.go
index 14d59c8..8aaad6f 100644
--- a/imap.go
+++ b/imap.go
@@ -253,12 +253,20 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa
var partHeaderSection imap.BodySectionName
partHeaderSection.Peek = true
- partHeaderSection.Specifier = imap.HeaderSpecifier
+ if len(partPath) > 0 {
+ partHeaderSection.Specifier = imap.MIMESpecifier
+ } else {
+ partHeaderSection.Specifier = imap.HeaderSpecifier
+ }
partHeaderSection.Path = partPath
var partBodySection imap.BodySectionName
partBodySection.Peek = true
- partBodySection.Specifier = imap.TextSpecifier
+ if len(partPath) > 0 {
+ partBodySection.Specifier = imap.EntireSpecifier
+ } else {
+ partBodySection.Specifier = imap.TextSpecifier
+ }
partBodySection.Path = partPath
fetch := []imap.FetchItem{