forked from Silverfish/proton-bridge
GODT-1804: Preserve MIME parameters when uploading attachments
This commit is contained in:
@ -23,6 +23,7 @@ import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"mime"
|
||||
"net/mail"
|
||||
"runtime"
|
||||
"strings"
|
||||
@ -419,7 +420,7 @@ func createAttachments(
|
||||
attachment, err := client.UploadAttachment(ctx, addrKR, proton.CreateAttachmentReq{
|
||||
Filename: att.Name,
|
||||
MessageID: draftID,
|
||||
MIMEType: rfc822.MIMEType(att.MIMEType),
|
||||
MIMEType: rfc822.MIMEType(mime.FormatMediaType(att.MIMEType, att.MIMEParams)),
|
||||
Disposition: att.Disposition,
|
||||
ContentID: att.ContentID,
|
||||
Body: att.Data,
|
||||
|
||||
@ -66,6 +66,7 @@ type Attachment struct {
|
||||
Name string
|
||||
ContentID string
|
||||
MIMEType string
|
||||
MIMEParams map[string]string
|
||||
Disposition proton.Disposition
|
||||
Data []byte
|
||||
}
|
||||
@ -523,6 +524,7 @@ func parseAttachment(h message.Header, body []byte) (Attachment, error) {
|
||||
return Attachment{}, err
|
||||
}
|
||||
att.MIMEType = mimeType
|
||||
att.MIMEParams = mimeTypeParams
|
||||
|
||||
// Prefer attachment name from filename param in content disposition.
|
||||
// If not available, try to get it from name param in content type.
|
||||
|
||||
Reference in New Issue
Block a user