IRedMail/FAQ/Share.IMAP.Folder

From iRedMail
Revision as of 02:30, 3 October 2012 by ZhangHuangbin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 in iRedMail by default.
  • Do not mistake "shared folders" for "public folders". For shared folders, users must select which folder they want to share and with who, using an interface, like the ones available with SOGo and SOGo connectors, or IMAP command line.

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.
    • WARNING: Do not forget the dot before IMAP command.
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

Personal tools