diff options
| author | Shulhan <ms@kilabit.info> | 2022-02-25 22:21:36 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-02-25 22:21:36 +0700 |
| commit | 5242d7a436444300e89ac7994ffa92ba24bcdcea (patch) | |
| tree | dff9ac72d0346b45270736a5b59dadeb11cf3a39 | |
| parent | 2f9ffc6a8973a150773c0919a0477cf0f82a48e4 (diff) | |
| download | pakakeh.go-5242d7a436444300e89ac7994ffa92ba24bcdcea.tar.xz | |
lib/email: store the unpacked content type into MIME
This is to allow to inspect the MIME content type without calling
to Header.
| -rw-r--r-- | lib/email/mime.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/email/mime.go b/lib/email/mime.go index edc62202..12a77ce0 100644 --- a/lib/email/mime.go +++ b/lib/email/mime.go @@ -17,6 +17,8 @@ import ( // MIME represent part of message body with their header and content. // type MIME struct { + contentType *ContentType + Header *Header Content []byte } @@ -30,24 +32,26 @@ func newMIME(contentType, content []byte) (mime *MIME, err error) { mime = &MIME{ Header: &Header{}, } + err = mime.Header.Set(FieldTypeContentType, contentType) if err != nil { return nil, err } + mime.contentType = mime.Header.ContentType() + err = mime.Header.Set(FieldTypeMIMEVersion, []byte(mimeVersion1)) if err != nil { return nil, err } - err = mime.Header.Set(FieldTypeContentTransferEncoding, - []byte(encodingQuotedPrintable)) + err = mime.Header.Set(FieldTypeContentTransferEncoding, []byte(encodingQuotedPrintable)) if err != nil { return nil, err } var buf bytes.Buffer - content = append(content, []byte("\r\n")...) + content = append(content, cr, lf) w := quotedprintable.NewWriter(&buf) _, err = w.Write(content) if err != nil { |
