func (msg *message) addBody(contentType string, body []byte) { body = []byte(msg.replaceCIDs(string(body))) header := make(textproto.MIMEHeader) header.Set("Content-Type", contentType+"; charset="+msg.charset) header.Set("Content-Transfer-Encoding", msg.encoding.String()) msg.write(header, body, msg.encoding) }
// openMultipart creates a new part of a multipart message func (msg *message) openMultipart(multipartType string) { // create a new multipart writer msg.writers = append(msg.writers, multipart.NewWriter(msg.body)) // create the boundary contentType := "multipart/" + multipartType + ";\n \tboundary=" + msg.writers[msg.parts].Boundary() // if no existing parts, add header to main header group if msg.parts == 0 { msg.headers.Set("Content-Type", contentType) } else { // add header to multipart section header := make(textproto.MIMEHeader) header.Set("Content-Type", contentType) msg.writers[msg.parts-1].CreatePart(header) } msg.parts++ }