2019-03-05 12:44:14 +00:00
|
|
|
# Ansible role: Postfix MTA
|
2021-08-20 16:25:49 +00:00
|
|
|
|
2019-03-07 08:04:51 +00:00
|
|
|
[![Version](https://img.shields.io/badge/latest_version-1.0.0-green.svg)](https://git.yaegashi.fr/nishiki/ansible-role-postfix_mta/releases)
|
2019-03-05 12:44:14 +00:00
|
|
|
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://git.yaegashi.fr/nishiki/ansible-role-postfix_mta/src/branch/master/LICENSE)
|
|
|
|
|
|
|
|
Install and configure an simple mta with postfix
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
* Ansible >= 2.7
|
|
|
|
* Debian Stretch
|
|
|
|
|
|
|
|
## Role variables
|
|
|
|
|
2021-08-20 16:25:49 +00:00
|
|
|
* `postfix_config` - hash with config
|
2019-03-05 12:44:14 +00:00
|
|
|
|
2021-08-20 16:25:49 +00:00
|
|
|
```
|
|
|
|
smtpd_banner: $myhostname ESMTP $mail_name (Debian/GNU)
|
|
|
|
biff: 'no'
|
|
|
|
append_dot_mydomain: 'no'
|
|
|
|
readme_directory: 'no'
|
|
|
|
compatibility_level: 2
|
|
|
|
myhostname: '{{ ansible_fqdn }}'
|
|
|
|
myorigin: $myhostname
|
|
|
|
mydestination: $myhostname, localhost
|
|
|
|
default_transport: smtp
|
|
|
|
mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
|
|
|
|
mailbox_size_limit: '0'
|
|
|
|
recipient_delimiter: '+'
|
|
|
|
inet_interfaces: localhost
|
|
|
|
inet_protocols: all
|
|
|
|
```
|
2019-03-05 12:44:14 +00:00
|
|
|
|
2021-08-20 16:30:38 +00:00
|
|
|
* `postfix_transports` - hash with the transport configuration
|
|
|
|
|
|
|
|
```
|
|
|
|
google.com: smtp:127.0.0.1
|
|
|
|
```
|
|
|
|
|
2021-08-20 16:36:55 +00:00
|
|
|
* `postfix_aliases` - hash with the aliases
|
|
|
|
|
|
|
|
```
|
|
|
|
root:
|
|
|
|
- abuse
|
|
|
|
- admin
|
|
|
|
admin: root@local.loc
|
|
|
|
```
|
|
|
|
|
2019-03-05 12:44:14 +00:00
|
|
|
## How to use
|
|
|
|
|
|
|
|
```
|
|
|
|
- hosts: monitoring
|
|
|
|
roles:
|
|
|
|
- postfix_mta
|
|
|
|
```
|
|
|
|
|
|
|
|
## Development
|
2021-08-20 16:25:49 +00:00
|
|
|
|
2019-03-05 12:44:14 +00:00
|
|
|
### Test syntax with yamllint
|
|
|
|
|
|
|
|
* install `python` and `python-pip`
|
|
|
|
* install yamllint `pip install yamllint`
|
|
|
|
* run `yamllint .`
|
|
|
|
|
|
|
|
### Test syntax with ansible-lint
|
|
|
|
|
|
|
|
* install `python` and `python-pip`
|
|
|
|
* install yamllint `pip install ansible-lint`
|
|
|
|
* run `ansible-lint .`
|
|
|
|
|
|
|
|
### Tests with docker
|
|
|
|
|
|
|
|
* install [docker](https://docs.docker.com/engine/installation/)
|
|
|
|
* install ruby
|
|
|
|
* install bundler `gem install bundler`
|
|
|
|
* install dependencies `bundle install`
|
|
|
|
* run the tests `kitchen test`
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
```
|
|
|
|
Copyright (c) 2019 Adrien Waksberg
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
```
|