summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-02-25 22:21:36 +0700
committerShulhan <ms@kilabit.info>2022-02-25 22:21:36 +0700
commit5242d7a436444300e89ac7994ffa92ba24bcdcea (patch)
treedff9ac72d0346b45270736a5b59dadeb11cf3a39
parent2f9ffc6a8973a150773c0919a0477cf0f82a48e4 (diff)
downloadpakakeh.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.go10
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 {