aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-store.c
diff options
context:
space:
mode:
authorLucian Langa <lucilanga@gnome.org>2011-05-25 04:47:35 +0800
committerLucian Langa <lucilanga@gnome.org>2011-05-26 01:00:22 +0800
commitb55d2fb1d85e029a29e2862a99a7cea9821d8277 (patch)
treeb33396ccc39c0209c4ad8b328ab7820929b636a0 /mail/e-mail-store.c
parenteb91ed9977ec15abc4481eeeffb581d772ef37ef (diff)
downloadgsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.tar.gz
gsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.tar.zst
gsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.zip
Bug 651001 - Cannot send message from accounts not having a provider
Diffstat (limited to 'mail/e-mail-store.c')
-rw-r--r--mail/e-mail-store.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/mail/e-mail-store.c b/mail/e-mail-store.c
index 17ff7652ba..7a9c74cc8a 100644
--- a/mail/e-mail-store.c
+++ b/mail/e-mail-store.c
@@ -303,14 +303,20 @@ e_mail_store_add_by_account (EMailSession *session,
* and if this belongs in the folder tree model, add it. */
provider = camel_provider_get (account->source->url, &error);
- if (provider == NULL)
- goto fail;
+ if (provider == NULL) {
+ /* In case we do not have a provider here, we handle
+ * the special case of having multiple mail identities
+ * eg. a dummy account having just SMTP server defined */
+ goto handle_transport;
+ }
service = camel_session_add_service (
CAMEL_SESSION (session),
account->uid, account->source->url,
CAMEL_PROVIDER_STORE, &error);
+handle_transport:
+
if (account->transport) {
/* While we're at it, add the account's transport to the
* CamelSession. The transport's UID is a kludge for now.