Don't bother trying to see if the server advertises EHLO. Simply always
2003-11-05 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (connect_to_server): Don't bother trying to see if the server advertises EHLO. Simply always try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535. svn path=/trunk/; revision=23199
This commit is contained in:

committed by
Jeffrey Stedfast

parent
7827d488b3
commit
acb207edba
@ -1,3 +1,9 @@
|
|||||||
|
2003-11-05 Jeffrey Stedfast <fejj@ximian.com>
|
||||||
|
|
||||||
|
* providers/smtp/camel-smtp-transport.c (connect_to_server): Don't
|
||||||
|
bother trying to see if the server advertises EHLO. Simply always
|
||||||
|
try EHLO and fall back to HELO if EHLO fails. Fixes bug #50535.
|
||||||
|
|
||||||
2003-11-05 Not Zed <NotZed@Ximian.com>
|
2003-11-05 Not Zed <NotZed@Ximian.com>
|
||||||
|
|
||||||
* camel-smime-context.c (camel_smime_context_describe_part): new
|
* camel-smime-context.c (camel_smime_context_describe_part): new
|
||||||
|
@ -309,30 +309,21 @@ connect_to_server (CamelService *service, int try_starttls, CamelException *ex)
|
|||||||
g_free (respbuf);
|
g_free (respbuf);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (strstr (respbuf, "ESMTP"))
|
|
||||||
transport->flags |= CAMEL_SMTP_TRANSPORT_IS_ESMTP;
|
|
||||||
} while (*(respbuf+3) == '-'); /* if we got "220-" then loop again */
|
} while (*(respbuf+3) == '-'); /* if we got "220-" then loop again */
|
||||||
g_free (respbuf);
|
g_free (respbuf);
|
||||||
|
|
||||||
/* send EHLO (or HELO, depending on the service type) */
|
/* Try sending EHLO */
|
||||||
if (!(transport->flags & CAMEL_SMTP_TRANSPORT_IS_ESMTP)) {
|
|
||||||
/* If we did not auto-detect ESMTP, we should still send EHLO */
|
|
||||||
transport->flags |= CAMEL_SMTP_TRANSPORT_IS_ESMTP;
|
transport->flags |= CAMEL_SMTP_TRANSPORT_IS_ESMTP;
|
||||||
if (!smtp_helo (transport, ex)) {
|
if (!smtp_helo (transport, ex)) {
|
||||||
if (!transport->connected)
|
if (!transport->connected)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Okay, apparently this server doesn't support ESMTP */
|
/* Fall back to HELO */
|
||||||
camel_exception_clear (ex);
|
camel_exception_clear (ex);
|
||||||
transport->flags &= ~CAMEL_SMTP_TRANSPORT_IS_ESMTP;
|
transport->flags &= ~CAMEL_SMTP_TRANSPORT_IS_ESMTP;
|
||||||
if (!smtp_helo (transport, ex) && !transport->connected)
|
if (!smtp_helo (transport, ex) && !transport->connected)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
/* send EHLO */
|
|
||||||
if (!smtp_helo (transport, ex) && !transport->connected)
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* clear any EHLO/HELO exception and assume that any SMTP errors encountered were non-fatal */
|
/* clear any EHLO/HELO exception and assume that any SMTP errors encountered were non-fatal */
|
||||||
camel_exception_clear (ex);
|
camel_exception_clear (ex);
|
||||||
|
Reference in New Issue
Block a user