I believe it can. MTAs are highly configurable to return any sort of errors and/or disconnects on various conditions, thus the postfix smtp-sink capabilities to test out all of those settings, and that's how we encountered this issue.
*Matthew Altman* *Sr. Software Engineer* On Fri, Jul 1, 2016 at 3:16 PM, Ian Lance Taylor <i...@golang.org> wrote: > On Fri, Jul 1, 2016 at 1:17 PM, 'Matthew Altman' via golang-nuts > <golang-nuts@googlegroups.com> wrote: > > https://github.com/golang/go/blob/master/src/net/smtp/smtp.go#L76-L79 > > > > This method can make two distinct SMTP calls. First an EHLO and then a > HELO. > > If the EHLO fails it attempts HELO. However, if the connection was closed > > remotely after EHLO the HELO will of course also fail but the error > message > > returned will be a simple EOF from the HELO and the real response will be > > dropped. > > This can be duplicated by sending to a postfix smtp-sink with the flag -Q > > EHLO,HELO which returns a 4xx response and disconnects. > > > > Since two separate calls are made, maybe it would make sense for this > method > > to return two errors? Or perhaps a single composite error? > > I suggest that if EHLO returns a non-nil error and HELO returns an > EOF, then the hello method should return the EHLO error. > > That said, does this case actually happen in the real world? > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.