envelope.go
func (e *Envelope) SetHeader(name string, value []string) error {
	if name == "" {
		return fmt.Errorf("Provide non-empty header name")
	}

	for i, v := range value {
		if i == 0 {
			e.header.Set(name, mime.BEncoding.Encode("utf-8", v))
			continue
		}
		e.header.Add(name, mime.BEncoding.Encode("utf-8", v))
	}
	return nil
}
func (e *Envelope) SetHeader(name string, value []string) error {
	if name == "" {
		return fmt.Errorf("Provide non-empty header name")
	}

	for i, v := range value {
		if i == 0 {
			e.header.Set(name, mime.BEncoding.Encode("utf-8", v))
			continue
		}
		e.header.Add(name, mime.BEncoding.Encode("utf-8", v))
	}
	return nil
}
// SetHeader sets given header name to the given value.
// If the header exists already, all existing values are replaced.