[RCD] Collected recipients and senders

A.L.E.C alec at alec.pl
Tue Jun 4 11:18:56 CEST 2019


In Roundcube we automatically collect email addresses. Some plugins exist that do this. I
think it would be good to finally move the functionality into core and fix some related
issues. As collecting senders and recipients is related let's consider this together.

1. Collected recipients.

Recipient email addresses (and names) collected (automatically) when sending an email.
We'll make it optional, i.e. when disabled we'll not collect addresses nor
display the addressbook.

I guess we'll have to have an option to use existing addressbook instead of the special
one. So, it would be a single option: "Automatically add outgoing email addresses to":
none/collected recipients/list of writable addressbooks for selection.

I'm not sure we should consider checking an address existence in all writable or all other
addressbooks, but I would like to not add an option for this. Let's check only the above
configured addressbook + all writable addressbooks. Maybe provide a plugin api hook to
modify the list (e.g. Kolab may choose to check all user personal addressbooks).

2. Collected senders.

Email addresses of senders collected when using "Always allow from..." link/button.
This addressbook will be displayed/used only when "Allow remote resources from known
senders" is set.

I guess we'll have to have an option to use existing addressbook instead of the special
one. So, it would be a single option: "Store safe senders in": collected senders/list of
writable addressbooks for selection.

So, when we check if the html message is safe we look for an address in the configured
addressbook.

I'm not sure we should consider only the special addressbook, all writable addressbooks or
all existing, but I would like to not add an option for this. Let's check the configuread
addressbook + all writable addressbooks. And provide a plugin api hook to modify the list.

I'm not sure about the name, maybe it should be "Safe senders"? I'm also not sure about
the wording for these new options above.

3. "My contacts".

We have an option "On request for return receipt send receipt to my contacts...". I think
both above addressbooks should be considered as "my contacts" in this context. I don't
like to add another option. The list could be modified by a plugin if needed.

4. Autocompletion.

I think both above addressbooks should be used for autocompletion. I'm not sure it have to
 be configurable via 'autocomplete_addressbooks' option. Of course, these entries should
have lower prio than entries from other addressbooks.

----------------

Both these addressbooks will use the same new database table. The table will contain
columns: id, user_id, source_id, email, name.

I think we should allow only a single email address per record. For both sources we'll
allow only entries deletion. No editing. No groups.


References:
https://github.com/roundcube/roundcubemail/issues/5124
https://github.com/roundcube/roundcubemail/issues/5046
https://github.com/roundcube/roundcubemail/issues/4971

-- 
Aleksander 'A.L.E.C' Machniak
Kolab Groupware Developer         [http://kolab.org]
Roundcube Webmail Developer   [http://roundcube.net]
----------------------------------------------------
PGP: 19359DC1 # Blog: https://kolabian.wordpress.com


More information about the dev mailing list