class mail::virtual { # Virtual subsystems include database include mail::packages::virtual include mail::sasl include mail::dovecot class { [ 'mail::postfixadmin', 'mail::web::virtual' ]: } # Virtual mailboxes file { '/var/mail/virtual': 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'], } }