It's already some time ago, when I managed to get this activated. So, I'm trying to remember all steps I had to take to make it working. (Please excuse me if there's not everything 100% correct!)
There's a few steps you want to check:
1. Sieve should be installed, it's needed for a couple of "comfort" features.
2. /etc/sogo/sogo.conf, i.e. /usr/share/zentyal/stubs/mail/sogo.conf.mas:
// Allow user to add other IMAP accounts that will be visible from the SOGo
// Webmail interface.
// Default is NO.
SOGoMailAuxiliaryUserAccountsEnabled = YES;
//Allow Sharing of Calendars and Addresbooks
SOGoCalendarDAVAccessEnabled = YES;
SOGoAddressBookDAVAccessEnabled = YES;
//SOGoEnablePublicAccess = YES;
//Define the correct Default Roles for Calendar
SOGoCalendarDefaultRoles = (
PublicDAndTViewer,
ConfidentialDAndTViewer
);
3. Dovecot!!! - You need to enable Dovecot to support shared mailboxes. The keyword here is Namespace and ACL! (/etc/dovecot/dovecot.conf, i.e. /usr/share/zentyal/stubs/mail/dovecot.conf.mas)
mail_plugins = quota mailbox_alias acl
#
## Mailbox locations and namespaces
##
mail_uid=<% $uid %>
mail_gid=<% $gid %>
namespace inbox {
inbox=yes
separator = /
mailbox Trash {
auto = subscribe
special_use = \Trash
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
auto = no
special_use = \Sent
}
mailbox Spam {
auto = create
special_use = \Junk
}
subscriptions = yes
}
namespace {
type = shared
separator = /
prefix = Shared/%%u/
location = maildir:%%Lh/Maildir/:INDEX=%%Lh/Maildir/Shared/%%u
inbox = no
hidden = no
list = children
subscriptions = yes
ignore_on_failure = no
}
service dict {
unix_listener dict {
mode = 0660
user = ebox
group = ebox
}
}
##
## Plugin settings
##
plugin {
quota = maildir:User quota
quota_rule = *:storage=0
acl = vfile
##acl_shared_dict = proxy::acl
acl_defaults_from_inbox = yes
acl_shared_dict = file:/var/vmail/%d/shared-mailboxes.db
sieve = <% $mailboxesDir %>/%Ld/%Ln/sieve-script
sieve_global_path = <% $mailboxesDir %>/default.sieve
sieve_storage = <% $mailboxesDir %>/%Ld/%Ln
sieve_dir = <% $mailboxesDir %>/%Ld/%Ln
}
protocol imap {
mail_plugins = $mail_plugins quota imap_quota imap_acl acl
mail_max_userip_connections = 20
imap_client_workarounds = tb-extra-mailbox-sep
}
You may want to look here:
https://wiki2.dovecot.org/SharedMailboxes/Shared to get some better understanding.
Let me know if it works!
Updated 1st December 2019!