postfix
Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'benningm-postfix', '0.2.2'
Learn more about managing modules with a PuppetfileDocumentation
postfix
Table of Contents
- Description
- Setup - The basics of getting started with postfix
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
This module will install, configure and manage the postfix MTA and its tables.
It also provides helpers and abstaction for common use cases:
postfix::content_filter
- configure a smtp content filterpostfix::dovecot_lda
- configure local delivery to dovecot mailboxespostfix::nullmailer
- configure a local MTA for delivery to smart hostspostfix::sasl
- configure SASL authenticationpostfix::smtpd_proxy_filter
- configure a before-queue smtp content filterpostfix::submission
- configure a submission servicepostfix::virtual_hosting
- configure virtual domain/mailbox hostingpostfix::smtp_tls_parameters
- configure TLS, DANE
Setup
What postfix affects
The module will configure and install postfix.
In the default configuration it will:
- manage the
postfix
packages - manage the
postfix
services - postfix configuration files
- main.cf
- master.cf
Setup Requirements
Nothing special.
Beginning with postfix
The module class postfix
is used in all use case configuration
and can be used to start with an basic postfix configuration.
Usage
Install, configure and start postfix.
class { 'postfix': }
The core class contains parameters for basic main.cf settings:
class { 'postfix':
smtpd_banner = 'mymta',
}
Additional parameters can be set using postfix::maincf::param
:
class { 'postfix': }
postfix::maincf::param { 'message_size_limit':
value => '10240',
# optional comment...
# comment => 'small is beautiful'
}
Or additional entries for the master.cf
configuration:
class { 'postfix': }
postfix::maincf::param { 'custom_smtpd_syslog_name':
value => 'custom_mta',
}
postfix::mastercf::process { '127.0.0.1:10025':
type => 'inet',
private => false,
unpriv => true,
chroot => false,
wakeup => undef,
maxproc => undef,
comment => "custom smtpd service",
command => "smtpd
-o syslog_name=\$custom_smtpd_syslog_name",
}
The module provides generic classes for generating postmap tables:
$postmap = '/etc/postfix/mytable'
postfix::postmap { $postmap:
# optional description
description => 'my custom map'
}
postfix::postmap::row { 'example-mytable':
postmap = $postmap,
key => 'mykey',
value => 'myvalue',
# optional comment
comment => 'just an example',
}
# or a complete fragment of entries
postfix::postmap::fragment { 'example-mytable':
postmap => $postmap,
content => template('mytemplate.postmap.erb'),
}
But it also provide specialized resources for common tables:
postfix::access
postfix::mynetworks
postfix::sender_login_map
postfix::virtual_alias_domains
postfix::virtual_aliases
postfix::virtual_mailbox_domains
postfix::virtual_mailboxes
Example for using postfix::mynetworks
:
class { 'postfix::mynetworks': }
postfix::maincf::param { 'mynetworks':
value => "127.0.0.0/8 [::1]/128 ${postfix::mynetworks::type}:${postfix::mynetworks::path}",
}
postfix::mynetworks::row { '192.168.3.32': }
postfix::mynetworks::row { '192.168.5.35': }
Use cases
The module provides classes for specific use cases which will provide
the required parameters for main.cf
and master.cf
and also setup
the required tables with common presets.
Read the individual documentation of these classes on how they work.
Both the core module and the use case configurations can be extended with additional resources.
This module provides predefined resources for additional settings, to create common or individual tables, etc.
Use case: Basic local MTA
class { 'postfix': }
class { 'postfix::access': }
postfix::access::row { 'root':
value => 'bob@mydomain.tld',
}
postfix::maincf::param { 'relayhost':
value => '[relayhost.mydomain.com]'
}
Use case example: nullmailer
An local MTA for relaying all mail to a smart host can be configured
using the postfix::nullmailer
class:
classe { 'postfix::nullmailer':
relayhost => '[relay.example.com]'
}
Use case example: virtual_hosting
To setup a mailserver with virtual_hosting:
class { 'postfix::virtual_hosting': }
# create domain in virtual_mailbox_domains
postfix::virtual_hosting::domain { 'mydomain.tld': }
postfix::virtual_hosting::user { 'bob@mydomain.tld':
comment => 'This is bob',
aliases => [ 'webmaster@mydomain.tld' ],
# By default:
#
# * incoming => true,
# create entry in virtual_mailboxes
# create aliases in virtual_aliases
# * outgoing => true,
# create sender_login_map entries for $name and aliases
}
Reference
See REFERENCE.md
Limitations
The module is currently only tested on Debian systems.
No full coverage of documentation and automated tests yet.
Development
This module is developed as an open source project. Everyone is welcome to provide improvements.
The prefered way to contribute things is:
- Create an Issue to describe your problem, feature, bug
- Fork the repository to a private repository
- Create a feature branch to contain your changes
- If done create a Pull Request for integration of your changes
Reference
Table of Contents
Classes
Public Classes
postfix
: install, configure and manage postfix and tablespostfix::access
: manage postfix access tablepostfix::aliases
: manage system aliases tablepostfix::content_filter
: configure smtp proxy content filteringpostfix::dovecot_lda
: configure a dovecot local delivery processpostfix::maincf
: manage postfix main.cfpostfix::mastercf
: manage postfix master.cfpostfix::mynetworks
: manage the mynetworks tablepostfix::nullmailer
: postfix use case for nullmailerpostfix::reject_bogus_ip
: configure an reject_bogus_ip tablepostfix::sasl
: use case for configuring sasl authenticationpostfix::sender_login_map
: creates the sender_login_map tablepostfix::smtp_tls_parameters
: manage the smtp tls parameterspostfix::smtpd_proxy_filter
: configure smtp before-queue proxy filterpostfix::submission
: configure a submission servicepostfix::virtual_alias_domains
: manage the virtual_alias_domains tablepostfix::virtual_aliases
: manages the virtual_aliases tablepostfix::virtual_hosting
: postfix use case for virtual hostingpostfix::virtual_mailbox_domains
: manage the virtual_mailbox_domains tablepostfix::virtual_mailboxes
: manages the virtual_mailboxes tables
Private Classes
postfix::defaults
: provide default values for module parameterspostfix::install
: manage postfix installationpostfix::service
: manage the postfix system service
Defined types
postfix::access::fragment
: creates a fragment within the access tablepostfix::access::row
: creates an entry within the access tablepostfix::aliases::fragment
: creates a fragment within the aliases tablepostfix::aliases::row
: creates an entry within the aliases tablepostfix::maincf::param
: creates an parameter in the main.cf configurationpostfix::mastercf::process
: manage an process entry in the master.cf configurationpostfix::mynetworks::row
: resource for an mynetworks entrypostfix::postmap
: generic resource type to manage postmap tablespostfix::postmap::fragment
: creates an fragment with a postfix::postmappostfix::postmap::row
: creates a row within an postfix::postmappostfix::reject_bogus_ip::row
: manage an entry in the reject_bogus_ip tablepostfix::relay_access
: configure hosts for relay accesspostfix::sender_login_map::row
: generate an entry in the sender_login_map tablepostfix::virtual_alias_domains::row
: resource for an virtual_alias_domains entrypostfix::virtual_aliases::row
: creates an entry in the virtual_aliases tablepostfix::virtual_hosting::domain
: add a domain for virtual_hostingpostfix::virtual_hosting::user
: creates an user in an postfix::virtual_hosting setuppostfix::virtual_mailbox_domains::row
: creates an entry in the virtual_mailbox_domains tablepostfix::virtual_mailboxes::row
: creates an entry in the virtual_mailboxes table
Classes
postfix
install, configure and manage postfix and tables
Parameters
The following parameters are available in the postfix
class.
manage_install
Data type: Any
Default value: $::postfix::defaults::manage_install
manage_service
Data type: Any
Default value: $::postfix::defaults::manage_service
ensure_service
Data type: Any
Default value: $::postfix::defaults::ensure_service
enable_service
Data type: Any
Default value: $::postfix::defaults::enable_service
install_source
Data type: Any
Default value: $::postfix::defaults::install_source
package_name
Data type: Any
Default value: $::postfix::defaults::package_name
manage_maincf
Data type: Any
Default value: $::postfix::defaults::manage_maincf
manage_mastercf
Data type: Any
Default value: $::postfix::defaults::manage_mastercf
manage_mynetworks
Data type: Any
Default value: $::postfix::defaults::manage_mynetworks
manage_aliases
Data type: Any
Default value: $::postfix::defaults::manage_aliases
version
Data type: Any
Default value: $::postfix::defaults::version
myorigin
Data type: Any
Default value: $::postfix::defaults::myorigin
smtpd_banner
Data type: Any
Default value: $::postfix::defaults::smtpd_banner
biff
Data type: Any
Default value: $::postfix::defaults::biff
append_dot_mydomain
Data type: Any
Default value: $::postfix::defaults::append_dot_mydomain
compatibility_level
Data type: Any
Default value: $::postfix::defaults::compatibility_level
smtpd_use_tls
Data type: Any
Default value: $::postfix::defaults::smtpd_use_tls
smtpd_tls_cert_file
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_cert_file
smtpd_tls_key_file
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_key_file
smtpd_tls_session_cache_database
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_session_cache_database
smtp_tls_session_cache_database
Data type: Any
Default value: $::postfix::defaults::smtp_tls_session_cache_database
smtpd_relay_restrictions
Data type: Any
Default value: $::postfix::defaults::smtpd_relay_restrictions
myhostname
Data type: Any
Default value: $::postfix::defaults::myhostname
alias_maps
Data type: Any
Default value: $::postfix::defaults::alias_maps
alias_database
Data type: Any
Default value: $::postfix::defaults::alias_database
mydestination
Data type: Any
Default value: $::postfix::defaults::mydestination
mynetworks
Data type: Any
Default value: $::postfix::defaults::mynetworks
mailbox_size_limit
Data type: Any
Default value: $::postfix::defaults::mailbox_size_limit
recipient_delimiter
Data type: Any
Default value: $::postfix::defaults::recipient_delimiter
inet_interfaces
Data type: Any
Default value: $::postfix::defaults::inet_interfaces
inet_protocols
Data type: Any
Default value: $::postfix::defaults::inet_protocols
smtpd_maxproc
Data type: Any
Default value: $::postfix::defaults::smtpd_maxproc
smtpd_options
Data type: Any
Default value: $::postfix::defaults::smtpd_options
manage_smtp
Data type: Any
Default value: $::postfix::defaults::manage_smtp
manage_default_processes
Data type: Any
Default value: $::postfix::defaults::manage_default_processes
chroot
Data type: Any
Default value: $postfix::defaults::chroot
postfix::access
manage postfix access table
postfix::aliases
manage system aliases table
Parameters
The following parameters are available in the postfix::aliases
class.
manage_default_entries
Data type: Any
Default value: true
type
Data type: Any
Default value: 'hash'
postfix::content_filter
configure smtp proxy content filtering
Parameters
The following parameters are available in the postfix::content_filter
class.
content_filter_name
Data type: Any
Default value: 'smtp-amavis'
content_filter_host
Data type: Any
Default value: '[127.0.0.1]'
content_filter_port
Data type: Any
Default value: '10024'
content_filter_inject
Data type: Any
Default value: '127.0.0.1:10025'
postfix::dovecot_lda
configure a dovecot local delivery process
postfix::maincf
manage postfix main.cf
Parameters
The following parameters are available in the postfix::maincf
class.
ensure
Data type: Any
Default value: 'present'
smtpd_banner
Data type: Any
Default value: $::postfix::smtpd_banner
biff
Data type: Any
Default value: $::postfix::biff
append_dot_mydomain
Data type: Any
Default value: $::postfix::append_dot_mydomain
compatibility_level
Data type: Any
Default value: $::postfix::compatibility_level
smtpd_tls_cert_file
Data type: Any
Default value: $::postfix::smtpd_tls_cert_file
smtpd_tls_key_file
Data type: Any
Default value: $::postfix::smtpd_tls_key_file
smtpd_use_tls
Data type: Any
Default value: $::postfix::smtpd_use_tls
smtpd_tls_session_cache_database
Data type: Any
Default value: $::postfix::smtpd_tls_session_cache_database
smtp_tls_session_cache_database
Data type: Any
Default value: $::postfix::smtp_tls_session_cache_database
myhostname
Data type: Any
Default value: $::postfix::myhostname
myorigin
Data type: Any
Default value: $::postfix::myorigin
mailbox_size_limit
Data type: Any
Default value: $::postfix::mailbox_size_limit
recipient_delimiter
Data type: Any
Default value: $::postfix::recipient_delimiter
inet_interfaces
Data type: Any
Default value: $::postfix::inet_interfaces
inet_protocols
Data type: Any
Default value: $::postfix::inet_protocols
smtpd_relay_restrictions
Data type: Any
Default value: $::postfix::smtpd_relay_restrictions
alias_maps
Data type: Any
Default value: $::postfix::alias_maps
alias_database
Data type: Any
Default value: $::postfix::alias_database
mydestination
Data type: Any
Default value: $::postfix::mydestination
mynetworks
Data type: Any
Default value: $::postfix::mynetworks
readme_directory
Data type: Any
Default value: $::postfix::install::readme_directory
postfix::mastercf
manage postfix master.cf
Examples
Basic usage
class { 'postfix::mastercf': }
postfix::mastercf::process { '127.0.0.1:10025':
type => 'inet',
private => false,
unpriv => true,
chroot => false,
wakeup => undef,
maxproc => undef,
comment => "custom smtpd service",
command => "smtpd
-o syslog_name=\$custom_smtpd_syslog_name",
}
Parameters
The following parameters are available in the postfix::mastercf
class.
ensure
Data type: Any
Ensure status. Set to present
or absent
.
Default value: 'present'
smtpd_maxproc
Data type: Any
Number of processes for the smtp process.
Default value: $postfix::smtpd_maxproc
smtpd_options
Data type: Any
Options for the smtp process.
Default value: $postfix::smtpd_options
manage_smtp
Data type: Any
Could be used to disable the default smtp service line (port 25). In case you want to manage it yourself.
Default value: $postfix::manage_smtp
manage_default_processes
Data type: Any
Could be used to disable the default master.cf processes.
In case you want to manage everything yourself.
Does not include the smtp process. See manage_smtp
option.
Default value: $postfix::manage_default_processes
chroot
Data type: Any
Enable chroot for service processes.
Default value: $postfix::chroot
postfix::mynetworks
manage the mynetworks table
Examples
Basic usage
class { 'postfix::mynetworks': }
postfix::mynetworks::row { '123.234.234': }
Parameters
The following parameters are available in the postfix::mynetworks
class.
type
Data type: Any
By default uses an hash type table.
You may want to change this to 'cidr'.
Default value: 'hash'
postfix::nullmailer
postfix use case for nullmailer
Parameters
The following parameters are available in the postfix::nullmailer
class.
relayhost
Data type: Any
postfix::reject_bogus_ip
The generated table will contain entries to reject invalid and private network addresses.
Parameters
The following parameters are available in the postfix::reject_bogus_ip
class.
manage_default_entries
Data type: Any
By default the table will contain a default preset. Set to false to disable default preset.
Default value: true
postfix::sasl
This class will generate the settings required for SASL authentication.
Examples
Basic usage for dovecot
class { 'postfix::sasl': }
Parameters
The following parameters are available in the postfix::sasl
class.
type
Data type: Any
Postfix smtpd_sasl_type
setting.
Default value: 'dovecot'
path
Data type: Any
Postfix smtpd_sasl_path
setting.
Default value: 'private/auth'
broken_clients
Data type: Any
Postfix broken_sasl_auth_clients
setting.
Default value: true
security_options
Data type: Any
Postfix smtpd_sasl_security_options
setting.
Default value: 'noanonymous, noplaintext'
tls_security_options
Data type: Any
Postfix smtpd_sasl_tls_security_options
setting.
Default value: 'noanonymous'
smtpd_tls_auth_only
Postfix smtpd_tls_auth_only
setting.
tls_auth_only
Data type: Any
Default value: true
postfix::sender_login_map
creates the sender_login_map table
Examples
Basic usage
postfix::maincf::param { 'smtpd_sender_login_maps':
value => "hash:${postfix::sender_login_map::path}",
}
class { 'postfix::sender_login_map': }
postfix::sender_login_map::row { 'root@mydomain.tld':
value => 'bob',
}
postfix::smtp_tls_parameters
This class manages the smtp client TLS settings.
Examples
Basic usage
class { 'postfix::smtp_tls_parameters':
enable_dane => true,
}
Parameters
The following parameters are available in the postfix::smtp_tls_parameters
class.
enable_dane
Data type: Any
Set to true
to enable DANE.
This will set smtp_tls_security_level
to dane
and smtp_dns_support_level
to dnssec
.
Default value: false
postfix::smtpd_proxy_filter
This class will configure an smtp content filter to be used by postfix. For example amavisd-new.
It will create an smtpd_proxy_filter
entry in main.cf to
send mail to the content filter and an incoming smtpd
process in master.cf for mail re-injection.
Examples
Basic usage
class { 'postfix::smtpd_proxy_filter':
# Send mail to an content filter
smtpd_proxy_filter => '127.0.0.1:10024',
# accept mail re-injection from content filter
smtpd_proxy_inject => '127.0.0.1:10025'
}
Parameters
The following parameters are available in the postfix::smtpd_proxy_filter
class.
smtpd_proxy_filter
Data type: Any
Where to send mail for filtering.
Default value: '127.0.0.1:10024'
smtpd_proxy_inject
Data type: Any
Listening port to accept mail re-injection.
Default value: '127.0.0.1:10025'
postfix::submission
configure a submission service
Parameters
The following parameters are available in the postfix::submission
class.
process_name
Data type: Any
Default value: 'submission'
tls_security_level
Data type: Any
Default value: 'encrypt'
sasl_authenticated_header
Data type: Any
Default value: true
client_restrictions
Data type: Any
Default value: 'permit_sasl_authenticated,reject'
data_restrictions
Data type: Any
Default value: ''
recipient_restrictions
Data type: Any
Default value: 'permit_sasl_authenticated, reject'
sender_restrictions
Data type: Any
Default value: 'reject_non_fqdn_sender, reject_sender_login_mismatch, permit_sasl_authenticated, reject'
smtpd_proxy_filter
Data type: Any
Default value: ''
postfix::virtual_alias_domains
manage the virtual_alias_domains table
Examples
Basic usage
class { 'postfix::virtual_alias_domains': }
postfix::virtual_alias_domains::row { 'mydomain.tld': }
postfix::virtual_aliases
manages the virtual_aliases table
postfix::virtual_hosting
postfix use case for virtual hosting
Parameters
The following parameters are available in the postfix::virtual_hosting
class.
myorigin
Data type: Any
Default value: $::postfix::defaults::myorigin
smtpd_banner
Data type: Any
Default value: $::postfix::defaults::smtpd_banner
biff
Data type: Any
Default value: $::postfix::defaults::biff
append_dot_mydomain
Data type: Any
Default value: $::postfix::defaults::append_dot_mydomain
compatibility_level
Data type: Any
Default value: $::postfix::defaults::compatibility_level
smtpd_use_tls
Data type: Any
Default value: $::postfix::defaults::smtpd_use_tls
smtpd_tls_cert_file
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_cert_file
smtpd_tls_key_file
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_key_file
smtpd_tls_session_cache_database
Data type: Any
Default value: $::postfix::defaults::smtpd_tls_session_cache_database
smtp_tls_session_cache_database
Data type: Any
Default value: $::postfix::defaults::smtp_tls_session_cache_database
smtpd_relay_restrictions
Data type: Any
Default value: $::postfix::defaults::smtpd_relay_restrictions
myhostname
Data type: Any
Default value: $::postfix::defaults::myhostname
alias_maps
Data type: Any
Default value: $::postfix::defaults::alias_maps
alias_database
Data type: Any
Default value: $::postfix::defaults::alias_database
mydestination
Data type: Any
Default value: $::postfix::defaults::mydestination
mynetworks
Data type: Any
Default value: $::postfix::defaults::mynetworks
mailbox_size_limit
Data type: Any
Default value: $::postfix::defaults::mailbox_size_limit
recipient_delimiter
Data type: Any
Default value: $::postfix::defaults::recipient_delimiter
inet_interfaces
Data type: Any
Default value: 'all'
inet_protocols
Data type: Any
Default value: $::postfix::defaults::inet_protocols
smtpd_maxproc
Data type: Any
Default value: $::postfix::defaults::smtpd_maxproc
smtpd_options
Data type: Any
Default value: $::postfix::defaults::smtpd_options
message_size_limit
Data type: Any
Default value: 52428800
content_filter
Data type: Any
Default value: false
smtpd_proxy_filter
Data type: Any
Default value: false
enable_dane
Data type: Any
Default value: false
enable_submission
Data type: Any
Default value: false
submission_smtpd_proxy_filter
Data type: Any
Default value: ''
postfix::virtual_mailbox_domains
manage the virtual_mailbox_domains table
postfix::virtual_mailboxes
manages the virtual_mailboxes tables
Defined types
postfix::access::fragment
creates a fragment within the access table
Parameters
The following parameters are available in the postfix::access::fragment
defined type.
content
Data type: Any
order
Data type: Any
Default value: 50
postfix::access::row
creates an entry within the access table
Parameters
The following parameters are available in the postfix::access::row
defined type.
value
Data type: Any
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::aliases::fragment
creates a fragment within the aliases table
Parameters
The following parameters are available in the postfix::aliases::fragment
defined type.
content
Data type: Any
order
Data type: Any
Default value: 50
postfix::aliases::row
creates an entry within the aliases table
Parameters
The following parameters are available in the postfix::aliases::row
defined type.
value
Data type: Any
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::maincf::param
creates an parameter in the main.cf configuration
Examples
Basic usage
postfix::maincf::param { 'smptd_banner':
value => 'unknown'
}
Parameters
The following parameters are available in the postfix::maincf::param
defined type.
value
Data type: Any
The value for the configuration parameter.
comment
Data type: Any
An optional comment to include in the main.cf.
Default value: undef
order
Data type: Any
Allows to specify an priority for ordering.
Default value: 50
postfix::mastercf::process
manage an process entry in the master.cf configuration
Parameters
The following parameters are available in the postfix::mastercf::process
defined type.
command
Data type: Any
type
Data type: Any
Default value: 'inet'
private
Data type: Any
Default value: true
unpriv
Data type: Any
Default value: true
chroot
Data type: Any
Default value: true
wakeup
Data type: Any
Default value: undef
maxproc
Data type: Any
Default value: undef
options
Data type: Any
Default value: []
comment
Data type: Any
Default value: undef
order
Data type: Any
Default value: 50
postfix::mynetworks::row
resource for an mynetworks entry
Examples
Basic usage
postfix::mynetworks::row { '192.168.2.3/24' }
Parameters
The following parameters are available in the postfix::mynetworks::row
defined type.
value
Data type: Any
The value for this key.
Default value: 'OK'
order
Data type: Any
Use this priority if ordering is required. Otherwise stay with the default.
Default value: 50
comment
Data type: Any
An optional comment to insert into mynetworks for this entry.
Default value: undef
postfix::postmap
generic resource type to manage postmap tables
Parameters
The following parameters are available in the postfix::postmap
defined type.
path
Data type: Any
Default value: $name
ensure
Data type: Any
Default value: 'present'
content
Data type: Any
Default value: undef
description
Data type: Any
Default value: 'postfix map'
type
Data type: Any
Default value: 'hash'
generator_cmd
Data type: Any
Default value: $postfix::install::postmap_cmd
postfix::postmap::fragment
creates an fragment with a postfix::postmap
Parameters
The following parameters are available in the postfix::postmap::fragment
defined type.
postmap
Data type: Any
content
Data type: Any
order
Data type: Any
Default value: 50
postfix::postmap::row
creates a row within an postfix::postmap
Parameters
The following parameters are available in the postfix::postmap::row
defined type.
postmap
Data type: Any
key
Data type: Any
value
Data type: Any
comment
Data type: Any
Default value: undef
order
Data type: Any
Default value: 50
template_file
Data type: Any
Default value: 'postfix/postmap/row.erb'
postfix::reject_bogus_ip::row
manage an entry in the reject_bogus_ip table
Parameters
The following parameters are available in the postfix::reject_bogus_ip::row
defined type.
action
Data type: Any
Default value: 'REJECT'
message
Data type: Any
Default value: undef
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::relay_access
Will create an entry in the mynetworks table for each address.
It requires that the mynetworks table is configured by
postfix::mynetworks
.
Parameters
The following parameters are available in the postfix::relay_access
defined type.
addresses
Data type: Any
Array of addresses to add for relay access.
Default value: []
postfix::sender_login_map::row
generate an entry in the sender_login_map table
Examples
Basic usage
class { 'postfix::sender_login_map': }
postfix::sender_login_map::row { 'root@mydomain.tld':
value => 'bob',
}
Parameters
The following parameters are available in the postfix::sender_login_map::row
defined type.
value
Data type: Any
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::virtual_alias_domains::row
resource for an virtual_alias_domains entry
Examples
Basic usage
postfix::virtual_alias_domains::row { 'mydomain.tld' }
Parameters
The following parameters are available in the postfix::virtual_alias_domains::row
defined type.
value
Data type: Any
The value for this key.
Default value: 'OK'
order
Data type: Any
Use this priority if ordering is required. Otherwise stay with the default.
Default value: 50
comment
Data type: Any
An optional comment to insert into mynetworks for this entry.
Default value: undef
postfix::virtual_aliases::row
creates an entry in the virtual_aliases table
Parameters
The following parameters are available in the postfix::virtual_aliases::row
defined type.
value
Data type: Any
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::virtual_hosting::domain
add a domain for virtual_hosting
Examples
Basic usage
class { 'postfix::virtual_hosting': }
postfix::virtual_hosting::domain { 'mydomain.tld': }
postfix::virtual_hosting::user
creates an user in an postfix::virtual_hosting setup
Examples
Basic usage
postfix::virtual_hosting::user { 'user@mydomain.tld':
aliases => ['bob@mydomain.tld'],
}
Parameters
The following parameters are available in the postfix::virtual_hosting::user
defined type.
comment
Data type: Any
An optional comment to leave in postfix tables for this entry
Default value: undef
aliases
Data type: Any
A list of aliases for this user.
Default value: []
incoming
Data type: Any
By default will setup entries in
- virtual_mailboxes
- virtual_aliases
tables for incoming mail configuration.
Default value: true
outgoing
Data type: Any
By default will setup entries in
- sender_login_map
for outgoing mail configuration.
Default value: true
postfix::virtual_mailbox_domains::row
creates an entry in the virtual_mailbox_domains table
Examples
Basic usage
class { 'postfix::virtual_mailbox_domains': }
postfix::virtual_mailbox_domains::row { 'mydomain.tld': }
Parameters
The following parameters are available in the postfix::virtual_mailbox_domains::row
defined type.
value
Data type: Any
Default value: 'OK'
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
postfix::virtual_mailboxes::row
creates an entry in the virtual_mailboxes table
Parameters
The following parameters are available in the postfix::virtual_mailboxes::row
defined type.
value
Data type: Any
order
Data type: Any
Default value: 50
comment
Data type: Any
Default value: undef
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Release 0.2.2
Added
- Added support for Redhat/CentOS 8
Release 0.2.1
Fixed
- Set mode to 0644 as suggested by
postfix set-permissions
andpostfix-files
instead of 0640 (main.cf, master.cf and postmaps)
Release 0.2.0
This is a moderate release made in order to roll up various new features.
Changed
- Manage the aliases table by default
Added
- Added support for RedHat/CentOS, Ubuntu
- Added support for managing aliases table
Release 0.1.1
Minor release with various small fixes.
Changed
- Fixes lint errors
- Documentation updates
Release 0.1.0
Intial release of module.
Dependencies
- puppetlabs-stdlib (>= 4.0.0 < 7.0.0)
- puppetlabs-concat (>= 4.0.0 < 7.0.0)