# HG changeset patch # User Peter Sanchez # Date 1662513138 21600 # Tue Sep 06 19:12:18 2022 -0600 # Node ID 8196d6d7bf245e693d704cdfc183aef58620e7e2 # Parent 39e29f39b4d5c5245c35d4cd0eb503731ea753f0 Fixing multiple multipart attachments for text and html parts. Not needed diff --git a/message.go b/message.go --- a/message.go +++ b/message.go @@ -104,6 +104,7 @@ mb bytes.Buffer mw *mail.Writer + tw *mail.InlineWriter once sync.Once isClosed bool @@ -231,25 +232,26 @@ panic(err) } } + + m.tw, err = m.mw.CreateInline() + if err != nil { + panic(err) + } }) } func (m *Message) createInline(ctype string, data io.Reader) error { m.openWriter() - tw, err := m.mw.CreateInline() - if err != nil { - return err - } var th mail.InlineHeader th.Set("Content-Type", ctype) - w, err := tw.CreatePart(th) + w, err := m.tw.CreatePart(th) if err != nil { return err } // Last in, first out - defer tw.Close() + // defer tw.Close() defer w.Close() if _, err = io.Copy(w, data); err != nil { @@ -321,6 +323,7 @@ // Close Closes the mail.Writer func (m *Message) Close() { if m.mw != nil && !m.isClosed { + m.tw.Close() m.mw.Close() if m.ct != nil { m.ct.Close()