func (hdr *Header) Boundary() []byte {
	ct := hdr.ContentType()
	if ct == nil {
		return nil
	}
	return ct.GetParamValue(ParamNameBoundary)
}
Boundary return the message body boundary defined in Content-Type.
If no field Content-Type or no boundary it will return nil.
package email
import (
	"bytes"
	"fmt"
	"log"
	"github.com/shuLhan/share/lib/ascii"
)
type Header struct {
	fields []*Field
}
func ParseHeader(raw []byte) (hdr *Header, rest []byte, err error) {
	var (
		field *Field
	)
	if len(raw) == 0 {
		return nil, nil, nil
	}
	rest = raw
	for len(rest) >= 2 {
		if rest[0] == cr && rest[1] == lf {
			rest = rest[2:]
			return hdr, rest, nil
		}
		field, rest, err = ParseField(rest)
		if err != nil {
			return nil, rest, err
		}
		if hdr == nil {
			hdr = &Header{}
		}
		hdr.fields = append(hdr.fields, field)
	}
	if len(rest) == 0 {
		return hdr, rest, nil
	}
	err = fmt.Errorf("ParseHeader: invalid end of header: '%s'", rest)
	return nil, rest, err
}