diff options
-rw-r--r-- | camel/ChangeLog | 4 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 8020ffea6e..612fe4300b 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,9 @@ 2001-03-13 Dan Winship <danw@ximian.com> + * providers/imap/camel-imap-store.c (imap_connect): When trying + again after a failed password attempt, check if the connection got + dropped (which Courier will do) and deal accordingly. + * providers/sendmail/camel-sendmail-transport.c (sendmail_send_to, sendmail_send): More fixing for exim: It can't deal with "-tif", you need to say "-t -i -f". diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index ec65d499b3..c13a584a33 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -464,6 +464,14 @@ imap_connect (CamelService *service, CamelException *ex) } } + if (!store->connected) { + /* Some servers (eg, courier) will disconnect on + * a bad password. So reconnect here. + */ + if (!connect_to_server (service, ex)) + return NULL; + } + if (authtype) authenticated = try_auth (store, authtype->authproto, ex); else { |