Addition/Shared folders with dovecot 1.2

From iRedMail

(Difference between revisions)
Jump to: navigation, search
Line 33: Line 33:
</pre>}}
</pre>}}
The '''private''' namespace is the default namespace, if it's already in the config do not add it a second time. '''shared''' is the one we need here.
The '''private''' namespace is the default namespace, if it's already in the config do not add it a second time. '''shared''' is the one we need here.
 +
 +
* Step 2.
 +
Add proper ACL dictionary to '''dict''' section of '''dovecot.conf''':
 +
{{cfg||<pre>
 +
dict {
 +
    acl = mysql:/etc/dovecot-acl-shared-dict.conf
 +
}
 +
</pre>}}
 +
 +
* Step 4.
 +
Create the file '''/etc/dovecot-acl-shared-dict.conf''':
 +
{{cfg||<pre>
 +
connect = host=localhost dbname=vmail user=vmailadmin password=PASSWORD_HERE
 +
 +
map {
 +
  pattern = shared/shared-boxes/user/$to/$from
 +
  table = user_shares
 +
  value_field = dummy
 +
 +
  fields {
 +
    from_user = $from
 +
    to_user = $to
 +
  }
 +
}
 +
</pre>}}

Revision as of 08:06, 2 June 2010

Contents

Mission

Enable shared folders under iRedMail with dovecot 1.2.

Requirements

  • A properly working iRedMail system;
  • A properly working dovecot 1.2 instead of the default 1.1;

Notes

  • This article was written with a CentOS-based system in mind. Adapt it for your system.

Step-by-step configuration

  • Step 1.

Add proper namespaces to dovecot.conf:

File:
# Namespaces
namespace private {
	subscriptions = yes
	separator = /
	prefix = 
	inbox = yes
}

namespace shared {
	subscriptions = no
	separator = /
	prefix = Shared/%%u/
	location = maildir:%%Lh/Maildir:INDEX=%Lh/Maildir/Shared/%%Lu
	list = children
	hidden = no
	inbox = no
}

The private namespace is the default namespace, if it's already in the config do not add it a second time. shared is the one we need here.

  • Step 2.

Add proper ACL dictionary to dict section of dovecot.conf:

File:
dict {
    acl = mysql:/etc/dovecot-acl-shared-dict.conf
}
  • Step 4.

Create the file /etc/dovecot-acl-shared-dict.conf:

File:
connect = host=localhost dbname=vmail user=vmailadmin password=PASSWORD_HERE

map {
  pattern = shared/shared-boxes/user/$to/$from
  table = user_shares
  value_field = dummy

  fields {
    from_user = $from
    to_user = $to
  }
}
Personal tools