Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
0bc3e3eb1f |
3 changed files with 93 additions and 96 deletions
|
@ -34,58 +34,41 @@
|
|||
# }
|
||||
#
|
||||
class postfix(
|
||||
$smtp_listen = '127.0.0.1',
|
||||
$root_mail_recipient = 'nobody',
|
||||
$anon_sasl = 'no',
|
||||
$manage_header_checks = 'no',
|
||||
$manage_tls_policy = 'no',
|
||||
$manage_transport_regexp = 'no',
|
||||
$manage_virtual_regexp = 'no',
|
||||
$smtp_listen = "127.0.0.1",
|
||||
$root_mail_recipient = "nobody",
|
||||
$anon_sasl = "no",
|
||||
$manage_header_checks = "no",
|
||||
$manage_tls_policy = "no",
|
||||
$manage_transport_regexp = "no",
|
||||
$manage_virtual_regexp = "no",
|
||||
$tls_fingerprint_digest = 'sha1',
|
||||
$use_amavisd = 'no',
|
||||
$use_dovecot_lda = 'no',
|
||||
$use_schleuder = 'no',
|
||||
$use_sympa = 'no',
|
||||
$use_firma = 'no',
|
||||
$use_mlmmj = 'no',
|
||||
$use_submission = 'no',
|
||||
$use_smtps = 'no',
|
||||
$mastercf_tail = '',
|
||||
$use_amavisd = "no",
|
||||
$use_dovecot_lda = "no",
|
||||
$use_schleuder = "no",
|
||||
$use_sympa = "no",
|
||||
$use_firma = "no",
|
||||
$use_mlmmj = "no",
|
||||
$use_submission = "no",
|
||||
$use_smtps = "no",
|
||||
$mastercf_tail = "",
|
||||
$inet_interfaces = 'all',
|
||||
$myorigin = $::fqdn,
|
||||
$default_alias_maps = true
|
||||
) {
|
||||
|
||||
# selinux labels differ from one distribution to another
|
||||
case $::operatingsystem {
|
||||
|
||||
'RedHat', 'CentOS': {
|
||||
$master_cf_template = 'postfix/master.cf.redhat5.erb'
|
||||
|
||||
# selinux labels differ from one distribution to another
|
||||
RedHat, CentOS: {
|
||||
case $::operatingsystemmajrelease {
|
||||
'4': { $postfix_seltype = 'etc_t' }
|
||||
'5': { $postfix_seltype = 'postfix_etc_t' }
|
||||
"4": { $postfix_seltype = "etc_t" }
|
||||
"5": { $postfix_seltype = "postfix_etc_t" }
|
||||
default: { $postfix_seltype = undef }
|
||||
}
|
||||
|
||||
postfix::config {
|
||||
'sendmail_path': value => '/usr/sbin/sendmail.postfix';
|
||||
'newaliases_path': value => '/usr/bin/newaliases.postfix';
|
||||
'mailq_path': value => '/usr/bin/mailq.postfix';
|
||||
}
|
||||
}
|
||||
|
||||
'Debian': {
|
||||
$master_cf_template = "postfix/master.cf.debian-${::operatingsystemmajrelease}.erb"
|
||||
}
|
||||
|
||||
'Ubuntu': {
|
||||
$master_cf_template = 'postfix/master.cf.debian-sid.erb'
|
||||
}
|
||||
|
||||
default: {
|
||||
$postfix_seltype = undef
|
||||
$master_cf_template = undef
|
||||
$postfix_seltype = undef
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,8 +81,7 @@ class postfix(
|
|||
if $anon_sasl == 'yes' {
|
||||
include postfix::anonsasl
|
||||
}
|
||||
# this global variable needs to get parameterized as well
|
||||
if $::header_checks == 'yes' {
|
||||
if $header_checks == 'yes' {
|
||||
include postfix::header_checks
|
||||
}
|
||||
if $manage_tls_policy == 'yes' {
|
||||
|
@ -117,7 +99,7 @@ class postfix(
|
|||
include postfix::virtual_regexp
|
||||
}
|
||||
|
||||
package { ['postfix', 'mailx']:
|
||||
package { ["postfix", "mailx"]:
|
||||
ensure => installed
|
||||
}
|
||||
|
||||
|
@ -125,71 +107,86 @@ class postfix(
|
|||
Package[mailx] { name => 'bsd-mailx' }
|
||||
}
|
||||
|
||||
service { 'postfix':
|
||||
service { "postfix":
|
||||
ensure => running,
|
||||
require => Package['postfix'],
|
||||
require => Package["postfix"],
|
||||
}
|
||||
|
||||
file { '/etc/mailname':
|
||||
file { "/etc/mailname":
|
||||
ensure => present,
|
||||
content => "${::fqdn}\n",
|
||||
content => "${fqdn}\n",
|
||||
seltype => $postfix_seltype,
|
||||
}
|
||||
|
||||
# Aliases
|
||||
file { '/etc/aliases':
|
||||
ensure => present,
|
||||
file { "/etc/aliases":
|
||||
ensure => present,
|
||||
content => "# file managed by puppet\n",
|
||||
replace => false,
|
||||
seltype => $postfix_seltype,
|
||||
notify => Exec['newaliases'],
|
||||
notify => Exec["newaliases"],
|
||||
}
|
||||
|
||||
# Aliases
|
||||
exec { 'newaliases':
|
||||
command => '/usr/bin/newaliases',
|
||||
exec { "newaliases":
|
||||
command => "/usr/bin/newaliases",
|
||||
refreshonly => true,
|
||||
require => Package['postfix'],
|
||||
subscribe => File['/etc/aliases'],
|
||||
require => Package["postfix"],
|
||||
subscribe => File["/etc/aliases"],
|
||||
}
|
||||
|
||||
# Config files
|
||||
file { '/etc/postfix/master.cf':
|
||||
file { "/etc/postfix/master.cf":
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
content => template($master_cf_template),
|
||||
owner => "root",
|
||||
group => "root",
|
||||
mode => "0644",
|
||||
content => $::operatingsystem ? {
|
||||
Redhat => template("postfix/master.cf.redhat5.erb"),
|
||||
CentOS => template("postfix/master.cf.redhat5.erb"),
|
||||
Debian => template("postfix/master.cf.debian-${::operatingsystemmajrelease}.erb"),
|
||||
Ubuntu => template("postfix/master.cf.debian-etch.erb"),
|
||||
},
|
||||
seltype => $postfix_seltype,
|
||||
notify => Service['postfix'],
|
||||
require => Package['postfix'],
|
||||
notify => Service["postfix"],
|
||||
require => Package["postfix"],
|
||||
}
|
||||
|
||||
# Config files
|
||||
file { '/etc/postfix/main.cf':
|
||||
file { "/etc/postfix/main.cf":
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => 'puppet:///modules/postfix/main.cf',
|
||||
owner => "root",
|
||||
group => "root",
|
||||
mode => "0644",
|
||||
source => "puppet:///modules/postfix/main.cf",
|
||||
replace => false,
|
||||
seltype => $postfix_seltype,
|
||||
notify => Service['postfix'],
|
||||
require => Package['postfix'],
|
||||
notify => Service["postfix"],
|
||||
require => Package["postfix"],
|
||||
}
|
||||
|
||||
# Default configuration parameters
|
||||
if $default_alias_maps {
|
||||
postfix::config {
|
||||
'alias_maps': value => 'hash:/etc/aliases';
|
||||
"alias_maps": value => "hash:/etc/aliases";
|
||||
}
|
||||
}
|
||||
postfix::config {
|
||||
'myorigin': value => $myorigin;
|
||||
'inet_interfaces': value => $inet_interfaces;
|
||||
"myorigin": value => "${myorigin}";
|
||||
"inet_interfaces": value => "${inet_interfaces}";
|
||||
}
|
||||
|
||||
postfix::mailalias {'root':
|
||||
case $::operatingsystem {
|
||||
RedHat, CentOS: {
|
||||
postfix::config {
|
||||
"sendmail_path": value => "/usr/sbin/sendmail.postfix";
|
||||
"newaliases_path": value => "/usr/bin/newaliases.postfix";
|
||||
"mailq_path": value => "/usr/bin/mailq.postfix";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
postfix::mailalias {"root":
|
||||
recipient => $root_mail_recipient,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,25 +8,25 @@
|
|||
# service type private unpriv chroot wakeup maxproc command + args
|
||||
# (yes) (yes) (yes) (never) (100)
|
||||
# ==========================================================================
|
||||
<% if @smtp_listen == 'all' %>smtp inet n - - - - smtpd
|
||||
<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
|
||||
<% if smtp_listen == 'all' %>smtp inet n - - - - smtpd
|
||||
<% else %><%= smtp_listen %>:smtp inet n - - - - smtpd<% end %>
|
||||
#smtp inet n - - - 1 postscreen
|
||||
#smtpd pass - - - - - smtpd
|
||||
#dnsblog unix - - - - 0 dnsblog
|
||||
#tlsproxy unix - - - - 0 tlsproxy
|
||||
<% if @use_submission == 'yes' %>submission inet n - - - - smtpd
|
||||
<% if use_submission == 'yes' %>submission inet n - - - - smtpd
|
||||
-o smtpd_tls_security_level=encrypt
|
||||
-o smtpd_sasl_auth_enable=yes
|
||||
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
||||
-o milter_macro_daemon_name=ORIGINATING
|
||||
<% end %>
|
||||
<% if @use_smtps == 'yes' %>smtps inet n - - - - smtpd
|
||||
<% if use_smtps == 'yes' %>smtps inet n - - - - smtpd
|
||||
-o smtpd_tls_wrappermode=yes
|
||||
-o smtpd_sasl_auth_enable=yes
|
||||
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
||||
-o milter_macro_daemon_name=ORIGINATING
|
||||
<% end %>
|
||||
#628 inet n - - - - qmqpd
|
||||
#628 inet n - - - - qmqpd
|
||||
pickup fifo n - - 60 1 pickup
|
||||
cleanup unix n - - - 0 cleanup
|
||||
qmgr fifo n - n 300 1 qmgr
|
||||
|
@ -114,7 +114,7 @@ mailman unix - n n - - pipe
|
|||
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
|
||||
${nexthop} ${user}
|
||||
|
||||
<% if @use_amavisd == 'yes' %>
|
||||
<% if use_amavisd == 'yes' %>
|
||||
amavis unix - - - - 2 smtp
|
||||
-o smtp_data_done_timeout=1200
|
||||
-o smtp_send_xforward_command=yes
|
||||
|
@ -133,25 +133,25 @@ amavis unix - - - - 2 smtp
|
|||
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
|
||||
-o smtpd_bind_address=127.0.0.1
|
||||
<% end %>
|
||||
<% if @use_dovecot_lda == 'yes' %>
|
||||
<% if use_dovecot_lda == 'yes' %>
|
||||
dovecot unix - n n - - pipe
|
||||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
|
||||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
|
||||
<% end %>
|
||||
<% if @use_schleuder == 'yes' %>
|
||||
<% if use_schleuder == 'yes' %>
|
||||
schleuder unix - n n - - pipe
|
||||
flags=DRhu user=schleuder argv=/usr/bin/schleuder ${user}
|
||||
<% end %>
|
||||
<% if @use_sympa == 'yes' %>
|
||||
<% if use_sympa == 'yes' %>
|
||||
sympa unix - n n - - pipe
|
||||
flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}
|
||||
sympabounce unix - n n - - pipe
|
||||
flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${user}
|
||||
<% end %>
|
||||
<% if @use_mlmmj == 'yes' %>
|
||||
<% if use_mlmmj == 'yes' %>
|
||||
mlmmj unix - n n - - pipe
|
||||
flags=DORhu user=mlmmj argv=/usr/bin/mlmmj-recieve -F -L /var/spool/mlmmj/$nexthop/
|
||||
<%- end -%>
|
||||
|
||||
<%- unless @mastercf_tail.to_s.empty? then -%>
|
||||
<%= @mastercf_tail %>
|
||||
<%- unless mastercf_tail.to_s.empty? then -%>
|
||||
<%= mastercf_tail %>
|
||||
<%- end -%>
|
||||
|
|
|
@ -8,25 +8,25 @@
|
|||
# service type private unpriv chroot wakeup maxproc command + args
|
||||
# (yes) (yes) (yes) (never) (100)
|
||||
# ==========================================================================
|
||||
<% if @smtp_listen == 'all' %>smtp inet n - - - - smtpd
|
||||
<% else %><%= @smtp_listen %>:smtp inet n - - - - smtpd<% end %>
|
||||
<% if smtp_listen == 'all' %>smtp inet n - - - - smtpd
|
||||
<% else %><%= smtp_listen %>:smtp inet n - - - - smtpd<% end %>
|
||||
#smtp inet n - - - 1 postscreen
|
||||
#smtpd pass - - - - - smtpd
|
||||
#dnsblog unix - - - - 0 dnsblog
|
||||
#tlsproxy unix - - - - 0 tlsproxy
|
||||
<% if @use_submission == 'yes' %>submission inet n - - - - smtpd
|
||||
<% if use_submission == 'yes' %>submission inet n - - - - smtpd
|
||||
-o smtpd_tls_security_level=encrypt
|
||||
-o smtpd_sasl_auth_enable=yes
|
||||
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
||||
-o milter_macro_daemon_name=ORIGINATING
|
||||
<% end %>
|
||||
<% if @use_smtps == 'yes' %>smtps inet n - - - - smtpd
|
||||
<% if use_smtps == 'yes' %>smtps inet n - - - - smtpd
|
||||
-o smtpd_tls_wrappermode=yes
|
||||
-o smtpd_sasl_auth_enable=yes
|
||||
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
|
||||
-o milter_macro_daemon_name=ORIGINATING
|
||||
<% end %>
|
||||
#628 inet n - - - - qmqpd
|
||||
#628 inet n - - - - qmqpd
|
||||
pickup fifo n - - 60 1 pickup
|
||||
cleanup unix n - - - 0 cleanup
|
||||
qmgr fifo n - n 300 1 qmgr
|
||||
|
@ -114,7 +114,7 @@ mailman unix - n n - - pipe
|
|||
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
|
||||
${nexthop} ${user}
|
||||
|
||||
<% if @use_amavisd == 'yes' %>
|
||||
<% if use_amavisd == 'yes' %>
|
||||
amavis unix - - - - 2 smtp
|
||||
-o smtp_data_done_timeout=1200
|
||||
-o smtp_send_xforward_command=yes
|
||||
|
@ -133,25 +133,25 @@ amavis unix - - - - 2 smtp
|
|||
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
|
||||
-o smtpd_bind_address=127.0.0.1
|
||||
<% end %>
|
||||
<% if @use_dovecot_lda == 'yes' %>
|
||||
<% if use_dovecot_lda == 'yes' %>
|
||||
dovecot unix - n n - - pipe
|
||||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
|
||||
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
|
||||
<% end %>
|
||||
<% if @use_schleuder == 'yes' %>
|
||||
<% if use_schleuder == 'yes' %>
|
||||
schleuder unix - n n - - pipe
|
||||
flags=DRhu user=schleuder argv=/usr/bin/schleuder ${user}
|
||||
<% end %>
|
||||
<% if @use_sympa == 'yes' %>
|
||||
<% if use_sympa == 'yes' %>
|
||||
sympa unix - n n - - pipe
|
||||
flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}
|
||||
sympabounce unix - n n - - pipe
|
||||
flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${user}
|
||||
<% end %>
|
||||
<% if @use_mlmmj == 'yes' %>
|
||||
<% if use_mlmmj == 'yes' %>
|
||||
mlmmj unix - n n - - pipe
|
||||
flags=DORhu user=mlmmj argv=/usr/bin/mlmmj-recieve -F -L /var/spool/mlmmj/$nexthop/
|
||||
<%- end -%>
|
||||
|
||||
<%- unless @mastercf_tail.to_s.empty? then -%>
|
||||
<%= @mastercf_tail %>
|
||||
<%- unless mastercf_tail.to_s.empty? then -%>
|
||||
<%= mastercf_tail %>
|
||||
<%- end -%>
|
||||
|
|
Loading…
Reference in a new issue