summaryrefslogtreecommitdiff
path: root/manifests/system.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/system.pp')
-rw-r--r--manifests/system.pp51
1 files changed, 36 insertions, 15 deletions
diff --git a/manifests/system.pp b/manifests/system.pp
index 29bac39..4f8f20c 100644
--- a/manifests/system.pp
+++ b/manifests/system.pp
@@ -1,7 +1,8 @@
class mail::system {
- $postfix_smtp_listen = "all"
- $postfix_use_amavisd = "yes"
- $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost'
+ $postfix_smtp_listen = "all"
+ $postfix_use_amavisd = "yes"
+ $postfix_use_dovecot_lda = "yes"
+ $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost'
case $postfix_mynetworks {
'': { $postfix_mynetworks = "127.0.0.0/8" }
@@ -46,14 +47,19 @@ class mail::system {
# Postfix configuration
postfix::config {
- "mydomain": value => "$domain";
- "myhostname": value => "$fqdn";
- "mydestination": value => "$postfix_mydestination";
- "mynetworks": value => "$postfix_mynetworks";
- "relay_domains": value => "$domain";
- "transport_maps": value => "hash:/etc/postfix/transport";
- "mailbox_command": value => '/usr/bin/maildrop -d ${USER}';
- "virtual_mailbox_base": value => '/var/mail/virtual';
+ "mydomain": value => "$domain";
+ "myhostname": value => "$fqdn";
+ "mydestination": value => "$postfix_mydestination";
+ "mynetworks": value => "$postfix_mynetworks";
+ "relay_domains": value => "$domain";
+ "transport_maps": value => "hash:/etc/postfix/transport";
+ "mailbox_command": value => '/usr/bin/maildrop -d ${USER}';
+ "virtual_mailbox_base": value => '/var/mail/virtual';
+ "virtual_uid_maps": value => 'static:5000';
+ "virtual_gid_maps": value => 'static:5000';
+ "virtual_transport": value => 'dovecot';
+ "dovecot_destination_recipient_limit": value => '1';
+ "recipient_delimiter": value => '+';
}
postfix::hash { "/etc/postfix/virtual":
@@ -70,9 +76,24 @@ class mail::system {
# Virtual mailboxes
file { '/var/mail/virtual':
- ensure => directory,
- owner => root,
- group => mail,
- mode => 0770,
+ ensure => directory,
+ owner => vmail,
+ group => vmail,
+ mode => 0750,
+ require => User['vmail'],
+ }
+
+ group { "vmail":
+ ensure => present,
+ gid => 5000,
+ }
+
+ user { "vmail":
+ ensure => present,
+ uid => 5000,
+ gid => "vmail",
+ password => "*",
+ home => '/var/mail/virtual',
+ require => Group['vmail'],
}
}