Lines Matching full:address
10 * Obsolete address formats are not parsed, including addresses with
123 func (h Header) AddressList(key string) ([]*Address, error) {
131 // Address represents a single mail address.
132 // An address such as "Barry Gibbs <bg@example.com>" is represented
133 // as Address{Name: "Barry Gibbs", Address: "bg@example.com"}.
134 type Address struct {
136 Address string // user@domain
139 // Parses a single RFC 5322 address, e.g. "Barry Gibbs <bg@example.com>"
140 func ParseAddress(address string) (*Address, error) {
141 return (&addrParser{s: address}).parseAddress()
145 func ParseAddressList(list string) ([]*Address, error) {
149 // An AddressParser is an RFC 5322 address parser.
155 // Parse parses a single RFC 5322 address of the
157 func (p *AddressParser) Parse(address string) (*Address, error) {
158 return (&addrParser{s: address, dec: p.WordDecoder}).parseAddress()
163 func (p *AddressParser) ParseList(list string) ([]*Address, error) {
167 // String formats the address as a valid RFC 5322 address.
168 // If the address's name contains non-ASCII characters
170 func (a *Address) String() string {
172 // Format address local@domain
173 at := strings.LastIndex(a.Address, "@")
176 // This is a malformed address ("@" is required in addr-spec);
177 // treat the whole address as local-part.
178 local = a.Address
180 local, domain = a.Address[:at], a.Address[at+1:]
245 func (p *addrParser) parseAddressList() ([]*Address, error) {
246 var list []*Address
266 // parseAddress parses a single RFC 5322 address at the start of p.
267 func (p *addrParser) parseAddress() (addr *Address, err error) {
271 return nil, errors.New("mail: no address")
274 // address = name-addr / addr-spec
275 // TODO(dsymonds): Support parsing group address.
282 return &Address{
283 Address: spec,
313 return &Address{
315 Address: spec,