IRedMail/FAQ/Share.IMAP.Folder

From iRedMail

Revision as of 06:18, 29 March 2011 by ZhangHuangbin (Talk | contribs)
Jump to: navigation, search

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, and has 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 and apache web server after you modified dovecot and roundcube.

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 your email address and password.
. OK [... ACL ..] Logged in

. SETACL Sent testing@a.cn rl          # <- Type this. Share folder 'Sent' to user testing@a.cn, allow to read (r) and lookup (l).
. OK Setacl complete.
^]                                       # <- Press 'Ctrl + ]' to exit telnet.
telnet> quit
  • Log into roundcube webmail with account testing@a.cn. And you can now see the shared folder. See screenshot here
  • 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 |
+--------------+--------------+-------+
| www@a.cn     | testing@a.cn | 1     |
+--------------+--------------+-------+

References

Personal tools