Kmail address autocomplete

fresh install of 42.3 / Plasma and I’ve decided to switch to using kmail instead of thunderbird.
All is up and running well and have my google contacts syncing.
One problem I have is that I cannot get addresses to autocomplete. I have to manually go into my contacts and select there.
All bugs relating to this that I could find seem to suggest they were fixed back in kmail 5.4.3
I’m using kmail 5.5.2

edit: oops - I see I accidentally selected 42.2 instead of 42.3 as the thread prefix

edit: oops - I see I accidentally selected 42.2 instead of 42.3 as the thread prefix

I’ve corrected that for you. :slight_smile:

I’m not using kmail so can’t offer anything other than basic advice/ideas here. Can you confirm that ‘libKF5AkonadiSearch’ is installed?

Just in case the following is helpful

For me contact completion from the address book was not working at all. It was fixed by right clicking on “Personal Contacts” in the Akonadi Console (akonadiconsole) and selecting “Clear Akonadi Cache”. I’m on openSUSE Leap 42.2 with KMail 5.3.0 and KDE Frameworks 5.26.0.

yes. checked on that in is installed

Just in case the following is helpful

installed akonadiconsole and cleared the cache for google contacts but all this seemed to do was remove all the contacts from within that contact folder and I couldn’t get them back. Selecting to “sync now” didn’t seem to do anything. Only way to get the contacts back was to remove the account then add it in again. Still no autocomplete though

I’ve read accounts of users who report that auto completion only works after typing in an initial character then backspacing and typing again to bring up search results. Is this the same for you, or it doesn’t work at all?

thanks, but I’ve tried that.
autocomplete just doesn’t work for me at all.
I thought it might be due to using google contacts so I imported all my contacts into the “personal” contacts and followed the instructions from post #2 but still no luck.

Well that’s why I asked :wink:

I thought it might be due to using google contacts so I imported all my contacts into the “personal” contacts and followed the instructions from post #2 but still no luck.

A bug report might be the best course of action here then.

Exactly the same situation here as described by the TS:
Only “Recent Addresses” will show up when I start typing into the To:, CC: or BCC: fields…


  • New installation of openSUSE 42.3 Leap
  • KMail/Kontact 5.5.2
  • New address book of type “Personal Contacts”
  • “libKF5AkonadiSearch” is installed
  • Typing in an initial character then backspacing and typing again does not help


Are you sure the search function is active on the used address book(s):
Kmail - Settings - Editor - Autocompletion settings

As a faithful, despite all the issues which have arose over the years, KMail (and Kontact) user, I can confirm that, the KMail2 on this Leap 42.2 machine (version: kmail2 5.3.0 (QtWebEngine)) only really begins to search for e-Mail addresses after at least 3 characters have been typed.

  • And, the search doesn’t always pull in the KAddressbook (also version 5.3.0) entries . . .

Only sometimes and even then, quite erratically except for my surname – it finds my family in KAdressbook quite consistently – others not . . .
[HR][/HR]May, possibly, be a Qt Web Engine issue – the Qt world is flirting with “declarative programming technology” which, IMHO, seems to be occasionally the “fly in the soup”.

Good point!
But: Could it be that you are referring to some older KMail version?
KMail 5.5.2 (which comes with openSUSE 42.3 Leap) the path to the “Composer” settings
is as follows: Settings > Configure KMail… > Composer > Tab “General”.

However, here one can check/uncheck:

  • Use addresses indexed from emails for autocompletion
  • Use recent addresses for autocompletion

Both are/have been checked with my KMail…

Also I’ve tested if autocompletion works after having entered 3 characters… doesn’t help.
And if typing one ore more characters, then deleting 'em, then starting over with typing… doesn’t help either.

Yes, but is “akonadi-search” installed as well?
That one is required too for search/indexing to work, and that’s the one that currently isn’t installed by default.

This has nothing to do with QtWebEngine, which is only used to display emails (instead of QtWebKit, that was used in earlier versions).

And “declarative programming technology” (I suppose you mean QML with that), is even more unrelated here (and completely unrelated to QtWebEngine either, which is basically “just” an embedded Chromium web browser).

Cheers, explains why it does work on my TW install.

Oh, no idea…
I’ll check that tonight.

  • Unchecked “Use addresses indexed from emails for autocompletion”.
  • Re-sorted the search order of address book folders and pushed “recent addresses” down near the bottom of the list.

Typing a single character offers some of the possible addresses – often from “recent addresses”.
More than one character usually offers possible addresses from the address book folders but, not reliably.

It was not installed…

After having installed it, I rebooted the system and logged on again. As the CPU was quite busy
with some akonadi search/indexing task, I waited for this to finish for like 5 minutes.
Then I started KMail and tested the email-address-autocompletion again - bingo!
Now the address field shows both, “Recent Addresses” and “Contacts found in your data”.

Thanks a lot, wolfi!!

Can also confirm – Leap 42.3 – AkonadiSearch version 17.04.2-1.1 (was already installed on this system – possibly with Leap 42.2 and therefore also present in the upgrade) – Kontact and KMail2 version 5.5.2:

  • It all works as expected – beginning with only one character typed but, sometimes needing 2 or 3 characters before the wished for entry is found.
  • Resorting the order in which the Addressbook folders are searched made a minor improvement in search behaviour.

Therefore, it seems that it pays to upgrade to Leap 42.3 to improve KMail2’s e-Mail address auto-completion performance – assuming that, the akonadi-search packet has been installed.