IRedMail/FAQ/Share.IMAP.Folder
From iRedMail
Revision as of 06:24, 11 May 2011 by ZhangHuangbin (Talk | contribs)
Contents |
Note:
- Mailbox sharing related settings are configured by default in iRedMail-0.7.0, you just need to enable acl plugins in dovecot.conf, section "protocols lda {}" and "protocol imap {}".
- Not all companies will allow user to share mailboxes, it may leak confidential information, so this feature is disabled by default.
Summary
With Dovecot-1.2, it's possible to share your IMAP folders to other users. This article describes:
- How to enable mailbox sharing in Dovecot
- How to enable mailbox sharing in Roundcube webmail.
- How to test mailbox sharing with telnet
Note:
- For Roundcube user, there's a plugin available for roundcube-0.5, it's easy to let user manage their mailbox sharing.
- For Thunderbird user, there's a add-on available too.
You can find links in Reference section.
Requirements
- iRedMail-0.7.0 or later versions.
Some explainations:
- iRedMail-0.7.0 ships dovecot-1.2, with all share folder related settings configured. But share folder is disabled by default.
- Roundcube webmail in iRedMail-0.7.0 works with share folder by default. There's no addition change required.
Configure Dovecot
With iRedMail-0.7.0 or later versions, what we need to do is just enable ACL plugins to provide folder sharing.
- Edit /etc/dovecot.conf (RHEL/CentOS) or /etc/dovecot/dovecot.conf (Debian/Ubuntu/openSUSE) or /usr/local/etc/dovecot.conf (FreeBSD), add ACL plugins in section "protocol lda {}" and "protocol imap {}":
| File: dovecot.conf |
protocol lda {
mail_plugins = ... acl
}
protocol imap {
mail_plugins = ... acl imap_acl
}
|
Test shared folder
Please restart dovecot after you modified its config file.
To test shared folder, I will share my (from@domain.ltd) 'Sent' folder to my colleague 'testing@domain.ltd'.
Steps:
- Set a share folder with telnet.
| Terminal: |
# telnet localhost 143 # <- Type this. * OK [...] Dovecot ready. . login from@domain.ltd passwd # <- Type this. Login with my email address and plain password. . OK [... ACL ..] Logged in . SETACL Sent testing@domain.ltd rli # <- Type this. Share folder 'Sent' to user testing@domain.ltd, with permissions: read (r), lookup (l) and insert (i). . OK Setacl complete. ^] # <- Press 'Ctrl + ]' to exit telnet. telnet> quit |
- Log into roundcube webmail with account testing@domain.ltd. And you can see the shared folder. See screenshot here
Some more details:
- After you shared folder with 'SETACL' command, dovecot will insert a record in MySQL database.
- With OpenLDAP backend, it's stored in iredadmin.share_folder.
- With MySQL backend, it's stored in vmail.share_folder.
| Terminal: |
# mysql -uroot -p mysql> USE vmail; mysql> SELECT * FROM share_folder; +--------------+--------------+-------+ | from_user | to_user | dummy | +--------------+--------------+-------+ | from@domain.ltd | testing@domain.ltd | 1 | +--------------+--------------+-------+ |
References
- BigMichi1's contribution
- maxie_ro's contribution
- Dovecot wiki: Mailbox sharing between users (v1.2+)
- Plugin for Roundcube webmail (0.5+): http://lists.roundcube.net/mail-archive/dev/2011-01/0000012.html
- Imap-ACL-Extension for Thunderbird, manage acls/permissions for shared mailboxes/folders on imap servers.
