Files
crockery/vendor/github.com/emersion/go-message/mail/address.go
2018-06-28 01:09:56 +01:00

38 lines
789 B
Go

package mail
import (
"net/mail"
"strings"
)
// Address represents a single mail address.
type Address mail.Address
// String formats the address as a valid RFC 5322 address. If the address's name
// contains non-ASCII characters the name will be rendered according to
// RFC 2047.
func (a *Address) String() string {
return ((*mail.Address)(a)).String()
}
func parseAddressList(s string) ([]*Address, error) {
list, err := mail.ParseAddressList(s)
if err != nil {
return nil, err
}
addrs := make([]*Address, len(list))
for i, a := range list {
addrs[i] = (*Address)(a)
}
return addrs, nil
}
func formatAddressList(l []*Address) string {
formatted := make([]string, len(l))
for i, a := range l {
formatted[i] = a.String()
}
return strings.Join(formatted, ", ")
}