Puppet Class: postfix::mta
- Defined in:
- manifests/mta.pp
Overview
Class: postfix::mta
This class configures a minimal MTA, delivering mail to $mydestination.
Either a valid relay host or the special word ‘direct’ is required ($relayhost) for outbound email.
transport & virtual maps get configured and can be populated with postfix::transport and postfix::virtual
Parameters
- relayhost
-
(string) the relayhost to use or ‘direct’ to send mail directly without a relay.
-
- mydestination
-
(string)
-
- mynetworks
-
(string)
-
Examples
class { 'postfix':
relayhost => 'mail.example.com',
smtp_listen => '0.0.0.0',
mydestination => '$myorigin, myapp.example.com',
mta => true,
}
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'manifests/mta.pp', line 28
class postfix::mta (
Pattern[/^\S+(?:,\s*\S+)*$/] $mydestination = $postfix::mydestination,
Pattern[/^(?:\S+?(?:(?:,\s+)|(?:\s+))?)*$/] $mynetworks = $postfix::mynetworks,
Pattern[/^\S+$/] $relayhost = $postfix::relayhost,
) {
# If direct is specified then relayhost should be blank
if ($relayhost == 'direct') {
postfix::config { 'relayhost': ensure => 'blank' }
}
else {
postfix::config { 'relayhost': value => $relayhost }
}
if ($mydestination == 'blank') {
postfix::config { 'mydestination': ensure => 'blank' }
} else {
postfix::config { 'mydestination': value => $mydestination }
}
postfix::config {
'mynetworks': value => $mynetworks;
'virtual_alias_maps': value => 'hash:/etc/postfix/virtual';
'transport_maps': value => 'hash:/etc/postfix/transport';
}
postfix::hash { '/etc/postfix/virtual':
ensure => 'present',
}
postfix::hash { '/etc/postfix/transport':
ensure => 'present',
}
}
|