# This class provides rate-limiting for outgoing SMTP, using postfwd # it is configured with some limits that seem reasonable for a generic # use-case. Each of the following applies to sasl_authenticated users: # # . 150 recipients at a time # . no more than 50 messages in 60 minutes # . no more than 250 recipients in 60 minutes. # # This class could be easily extended to add overrides to these rules, # maximum sizes per client, or additional rules class postfwd { ensure_packages(['libnet-server-perl', 'libnet-dns-perl', 'postfwd']) file { '/etc/default/postfwd': source => 'puppet:///modules/postfwd/postfwd_default', mode => '0644', owner => root, group => root, before => Package['postfwd']; '/etc/postfix/postfwd.cf': content => template('postfwd/postfwd.cf.erb'), mode => '0644', owner => root, group => root, require => Package['postfix'], before => Package['postfwd']; } service { 'postfwd': ensure => running, name => postfwd, pattern => '/usr/sbin/postfwd', enable => true, hasrestart => true, hasstatus => false, require => [ File['/etc/default/postfwd'], File['/etc/postfix/postfwd.cf']]; } }