aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2003-11-07 00:26:26 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2003-11-07 00:26:26 +0800
commitacb207edba53df542f08219b2f241282b2e75279 (patch)
treea71dc830eba5004820595e2c9d904b905d67eb99 /camel/providers
parent7827d488b3723df285f42734e658f8d7e12d93ed (diff)
downloadgsoc2013-evolution-acb207edba53df542f08219b2f241282b2e75279.tar.gz
gsoc2013-evolution-acb207edba53df542f08219b2f241282b2e75279.tar.zst
gsoc2013-evolution-acb207edba53df542f08219b2f241282b2e75279.zip
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
Diffstat (limited to 'camel/providers')
-rw-r--r--camel/providers/smtp/camel-smtp-transport.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c
index 6e15b33ce6..b8dbaa6c1c 100644
--- a/camel/providers/smtp/camel-smtp-transport.c
+++ b/camel/providers/smtp/camel-smtp-transport.c
@@ -309,27 +309,18 @@ connect_to_server (CamelService *service, int try_starttls, CamelException *ex)
g_free (respbuf);
return FALSE;
}
- if (strstr (respbuf, "ESMTP"))
- transport->flags |= CAMEL_SMTP_TRANSPORT_IS_ESMTP;
} while (*(respbuf+3) == '-'); /* if we got "220-" then loop again */
g_free (respbuf);
- /* send EHLO (or HELO, depending on the service type) */
- 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;
- if (!smtp_helo (transport, ex)) {
- if (!transport->connected)
- return FALSE;
-
- /* Okay, apparently this server doesn't support ESMTP */
- camel_exception_clear (ex);
- transport->flags &= ~CAMEL_SMTP_TRANSPORT_IS_ESMTP;
- if (!smtp_helo (transport, ex) && !transport->connected)
- return FALSE;
- }
- } else {
- /* send EHLO */
+ /* Try sending EHLO */
+ transport->flags |= CAMEL_SMTP_TRANSPORT_IS_ESMTP;
+ if (!smtp_helo (transport, ex)) {
+ if (!transport->connected)
+ return FALSE;
+
+ /* Fall back to HELO */
+ camel_exception_clear (ex);
+ transport->flags &= ~CAMEL_SMTP_TRANSPORT_IS_ESMTP;
if (!smtp_helo (transport, ex) && !transport->connected)
return FALSE;
}