code: func (m *MailYak) String() string {
  	var (
  		att    []string
  		custom string
  	)
  	for _, a := range m.attachments {
  		att = append(att, "{filename: "+a.filename+"}")
  	}
  
  	if len(m.headers) > 0 {
  		var hdrs []string
  		for k, v := range m.headers {
  			hdrs = append(hdrs, fmt.Sprintf("%s: %q", k, v))
  		}
  		custom = strings.Join(hdrs, ", ") + ", "
  	}
  	return fmt.Sprintf(
  		"&MailYak{date: %q, from: %q, fromName: %q, html: %v bytes, plain: %v bytes, toAddrs: %v, "+
  			"bccAddrs: %v, subject: %q, %vhost: %q, attachments (%v): %v, auth set: %v}",
  		m.date,
  		m.fromAddr,
  		m.fromName,
  		len(m.HTML().String()),
  		len(m.Plain().String()),
  		m.toAddrs,
  		m.bccAddrs,
  		m.subject,
  		custom,
  		m.host,
  		len(att),
  		att,
  		m.auth != nil,
  	)
  }
docs: // String returns a redacted description of the email state, typically for
  // logging or debugging purposes.
  //
  // Authentication information is not included in the returned string.