Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
postfix.pp 3.65 KiB
#
# == Class: postfix
#
# This class provides a basic setup of postfix with local and remote
# delivery and an SMTP server listening on the loopback interface.
#
# Parameters:
# - *$postfix_smtp_listen*: address on which the smtp service will listen to. defaults to 127.0.0.1
# - *$root_mail_recipient*: who will recieve root's emails. defaults to "nobody"
#
# Example usage:
#
# node "toto.example.com" {
# $postfix_smtp_listen = "192.168.1.10"
# include postfix
# }
#
class postfix {
# selinux labels differ from one distribution to another
case $operatingsystem {
RedHat, CentOS: {
case $lsbmajdistrelease {
"4": { $postfix_seltype = "etc_t" }
"5","6": { $postfix_seltype = "postfix_etc_t" }
default: { $postfix_seltype = undef }
}
}
default: {
$postfix_seltype = undef
}
}
# Default value for various options
case $postfix_smtp_listen {
"": { $postfix_smtp_listen = "127.0.0.1" }
}
case $root_mail_recipient {
"": { $root_mail_recipient = "nobody" }
}
case $postfix_use_amavisd {
"": { $postfix_use_amavisd = "no" }
}
case $postfix_use_dovecot_lda {
"": { $postfix_use_dovecot_lda = "no" }
}
case $postfix_use_schleuder {
"": { $postfix_use_schleuder = "no" }
}
case $postfix_use_sympa {
"": { $postfix_use_sympa = "no" }
}
case $postfix_mail_user {
"": { $postfix_mail_user = "vmail" }
}
package { "postfix":
ensure => installed
}
package { "mailx":
ensure => installed,
name => $lsbdistcodename ? {
"squeeze" => "bsd-mailx",
"lucid" => "bsd-mailx",
default => "mailx",
},