Adding email to existing contact

In K-9 mail, there was a feature allowing to create Contact from email sender.
Until last version (may 2023), this feature also allowed to add email to an already existing Contact.
This latter feature seems to have disappeared since the last version: now you can just add a new contact, you are no longer able to upgrade an existing one.
Is this normal?
This is very bad as many commercial senders have so many different emails that it is more frequent to have to add a new email to an existing contact than having to create a new commercial Contact.

1 Like

This feature is provided by your contacts app, not K-9 Mail. The contacts app on my device allows the data to be added to an existing contact when using the “add contact” button in K-9 Mail.

If I read this file correctly, K-9 uses ACTION_INSERT, not ACTION_INSERT_OR_EDIT. It should probably use the latter. In WhatsApp, I get two individual buttons, “add to contacts” and “add to existing contact”. With the former (same as the button in K-9), the AOSP contacts app does not let me add to an existing contact.

1 Like

Why was this possible before, then?
My contact app hasn’t changed recently.
But the link to access it in K-9 mail did. It is even very different.

I just checked in an Android sandbox, using first an older version of K-9 Mail (got using, then the latest.
With the older version, I can edit an existing contact.
With the latest K-9 mail, this is no longer possible.


I’ve switched to ACTION_INSERT because in my opinion ACTION_INSERT_OR_EDIT doesn’t provide a great user experience. ACTION_INSERT_OR_EDIT will ask you to pick an existing contact and only offers to create a new contact as an exceptional case. We want the opposite behavior.


Android 8.1 emulator:

Android 13 emulator:


Android 8.1 emulator:

(you’re right, there doesn’t seem to be an option to add to an existing contact)

Android 13 emulator:

It’s unfortunate that older versions of the AOSP contacts app and probably some vendor-specific contacts apps don’t provide an option to add to an existing contact. But I don’t think that’s reason enough to switch back to ACTION_INSERT_OR_EDIT.


As you said, this is your opinion.
Mine is that having the ability to edit an existing contact is an ESSENTIAL feature, and that it provides a HUGE user experience.
Companies, particularly, take so few care about having consistent emails that I frequently have to update them, and having to create a new contact IS actually a (relatively - less than 25% I’d say) exceptional case.
If you remove this possibility, I will have to consider that it is no longer possible to modify contacts from K9-Mail, and I will have to fall back to copy the new email in scrapbook, then quit K9-Mail, then open Contacts, then search the contact manually, then open it for editing, then paste the new email into it.
This is a big regression.
If you don’t agree about which user experience is the greatest, maybe you could consider adding a general option allowing users to choose between ACTION_INSERT and ACTION_INSERT_OR_EDIT?
Then we will see how many users will choose the former and how many users will choose the latter…

And actually, I have a Xiaomi Redmi Note 10 Pro smartphone.
It is still regularly updated, so I don’t think that it’s version of the Contact application can be seen as old.

Are you sure that newer AOSP contacts have that option? The app in your screenshot looks like the closed-source Google Contacts that is shipped on GApps emulator images.

So you want to rely on the contacts app having non-standard behavior (doing something that is clearly different to what the intent tells it to do)? That feels a bit like the wrong approach to me. Not having the option at all when using standards-compliant apps is quite restricting - I noticed the problem earlier myself (but did not create an issue). How do you feel about an approach similar to WhatsApp, where you get a context menu after clicking the icon, asking if you want to add a new contact or edit an existing one?

That feels worse. I’ve created a PR to switch to the previous behavior: Switch to `ACTION_INSERT_OR_EDIT` for "add to contacts" action by cketti · Pull Request #6963 · thundernest/k-9 · GitHub


Thank you very much if you do.

Actually, when I really want to add a new contact, I rarely do it from K-9 Mail.
Because for that I try to collect more information that K-9 Mail cannot inject :
Web site, phone number, Company name (not in First and last Name fields), logo picture, etc.

1 Like

I just want to add an additional comment here.

On any smartphone, the Contacts list is primarily made for keeping phone numbers.
Contacts inside it are rarely inserted for keeping emails only.
Thus, if I want to add an email from K9-Mail, it will be very frequently for adding it to a contact previously created for keeping a phone number.
This is why I think it is absolutely essential to allow adding it by modifying an existing contact.


EDIT: That might be true for you, but that does not make your statement generally true.

Yes. Correct. And this works for me. I can choose if I want to create a new contact or edit existing contact. I have a Samsung Galaxy A50 and K-9 6.602.