diff --git a/smtp.go b/smtp.go index 2aa49c8..01295a2 100644 --- a/smtp.go +++ b/smtp.go @@ -72,12 +72,17 @@ func (d *Dialer) Dial() (SendCloser, error) { return nil, err } - if d.LocalName != "" { - if err := c.Hello(d.LocalName); err != nil { - return nil, err + if d.LocalName == "" { + atIndex := strings.LastIndex(d.Username, "@") + if atIndex >= 0 { + d.LocalName = d.Username[atIndex+1:] } } + if err := c.Hello(d.LocalName); err != nil { + return nil, err + } + if !d.SSL { if ok, _ := c.Extension("STARTTLS"); ok { if err := c.StartTLS(d.tlsConfig()); err != nil {