Prechádzať zdrojové kódy

Fixed email attachment/inline

Signed-off-by: Vishal Rana <vr@labstack.com>
Vishal Rana 8 rokov pred
rodič
commit
779b8a8b98
1 zmenil súbory, kde vykonal 8 pridanie a 10 odobranie
  1. 8 10
      email/email.go

+ 8 - 10
email/email.go

@@ -4,7 +4,6 @@ import (
 	"bytes"
 	"crypto/tls"
 	"html/template"
-	"mime/quotedprintable"
 	"net/mail"
 	"net/smtp"
 
@@ -67,22 +66,21 @@ func (m *Message) writeBoundary() {
 func (m *Message) writeText(content string, contentType string) {
 	m.writeBoundary()
 	m.writeHeader("Content-Type", contentType+"; charset=UTF-8")
-	m.writeHeader("Content-Transfer-Encoding", "quoted-printable")
 	m.buffer.WriteString("\r\n")
-	qp := quotedprintable.NewWriter(m.buffer)
-	defer qp.Close()
-	qp.Write([]byte(content))
+	m.buffer.WriteString(content)
+	m.buffer.WriteString("\r\n")
 	m.buffer.WriteString("\r\n")
 }
 
 func (m *Message) writeFile(f *File, disposition string) {
 	m.writeBoundary()
-	m.writeHeader("Content-Type", f.Type+"; name="+f.Name)
-	m.writeHeader("Content-Disposition", disposition+"; filename="+f.Name)
+	m.writeHeader("Content-Type", f.Type+`; name="`+f.Name+`"`)
+	m.writeHeader("Content-Disposition", disposition+`; filename="`+f.Name+`"`)
 	m.writeHeader("Content-Transfer-Encoding", "base64")
 	m.buffer.WriteString("\r\n")
 	m.buffer.WriteString(f.Content)
 	m.buffer.WriteString("\r\n")
+	m.buffer.WriteString("\r\n")
 }
 
 func (e *Email) Send(m *Message) (err error) {
@@ -117,14 +115,14 @@ func (e *Email) Send(m *Message) (err error) {
 		// TODO:
 	}
 
-	// Attachments / inlines
+	// Inlines/attachments
 	for _, f := range m.Inlines {
 		m.writeFile(f, "inline")
 	}
 	for _, f := range m.Attachments {
-		m.writeFile(f, "disposition")
+		m.writeFile(f, "attachment")
 	}
-	m.buffer.WriteString("\r\n\r\n--")
+	m.buffer.WriteString("--")
 	m.buffer.WriteString(m.boundary)
 	m.buffer.WriteString("--")