+
+ if (!server_name)
+ server_name = _("Unknown Server");
+
+ /* Show the appropriate message text for the GError: */
+ gchar *message = NULL;
+ if (err) {
+ switch (err->code) {
+ case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_HOST_LOOKUP_FAILED:
+ message = g_strdup_printf (_("emev_ib_ui_smtp_server_invalid"), server_name);
+ break;
+ case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_SERVICE_UNAVAILABLE:
+ message = g_strdup_printf (_("emev_ib_ui_smtp_server_invalid"), server_name);
+ break;
+ case TNY_TRANSPORT_ACCOUNT_ERROR_SEND_AUTHENTICATION_NOT_SUPPORTED:
+ /* TODO: This logical ID seems more suitable for a wrong username or password than for a
+ * wrong authentication method. The user is unlikely to guess at the real cause.
+ */
+ message = g_strdup_printf (_("eemev_ni_ui_smtp_authentication_fail_error"), server_name);
+ break;
+ case TNY_TRANSPORT_ACCOUNT_ERROR_SEND:
+ default:
+ message = g_strdup (_("emev_ib_ui_smtp_send_error"));
+ break;
+ }
+ } else {
+ message = g_strdup (_("emev_ib_ui_smtp_send_error"));
+ }
+
+ modest_maemo_show_information_note_and_forget (GTK_WINDOW (user_data), message);
+ g_free (message);
+
+ /* TODO: Offer to remove the message, to avoid messages in future? */
+ /*
+ TnyFolder *outbox = tny_send_queue_get_outbox (queue);
+ tny_folder_remove_msg (outbox, header, NULL);
+ tny_folder_sync (outbox, TRUE, NULL);
+ g_object_unref (outbox);
+ */