diff options
-rw-r--r-- | camel/providers/smtp/camel-smtp-transport.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c index a81d9344b6..ea4a811f14 100644 --- a/camel/providers/smtp/camel-smtp-transport.c +++ b/camel/providers/smtp/camel-smtp-transport.c @@ -178,6 +178,9 @@ smtp_connect (CamelService *service, CamelException *ex) } while ( *(respbuf+3) == '-' ); /* if we got "220-" then loop again */ g_free(respbuf); + /* send HELO */ + smtp_helo(service, ex); + return TRUE; } @@ -420,7 +423,10 @@ smtp_helo (CamelSmtpTransport *transport, CamelException *ex) } /* hiya server! how are you today? */ - cmdbuf = g_strdup_printf ("HELO %s\r\n", localhost); + if (smtp_is_esmtp) + cmdbuf = g_strdup_printf ("EHLO %s\r\n", localhost); + else + cmdbuf = g_strdup_printf ("HELO %s\r\n", localhost); if ( camel_stream_write (transport->ostream, cmdbuf, strlen(cmdbuf)) == -1) { g_free(cmdbuf); |