Convert to RHEL support
This commit is contained in:
parent
6c3a9e3f88
commit
ddf6609a28
|
@ -29,6 +29,9 @@ msmtp_accounts:
|
|||
msmtp_default_account: yandex
|
||||
msmtp_domain: yandex.com
|
||||
|
||||
## Enable or disable automatic envelope-from addresses
|
||||
msmtp_auto_from: 'off'
|
||||
|
||||
## Logging (Select A) "syslog" or B) "file" logging or C) "no" log
|
||||
msmtp_log: file
|
||||
msmtp_logfile: ~/.msmtp.log
|
||||
|
@ -44,3 +47,5 @@ msmtp_test_mail_recipient: tester@example.org
|
|||
|
||||
## This will remove most other mail transfer agents such as postfix, exim,...!
|
||||
msmtp_remove_mtas: no
|
||||
|
||||
msmtp_listen_interface: 127.0.0.1
|
||||
|
|
28
files/msmtpd.service
Normal file
28
files/msmtpd.service
Normal file
|
@ -0,0 +1,28 @@
|
|||
[Unit]
|
||||
Description=msmtp daemon
|
||||
Documentation=man:msmtpd(1)
|
||||
|
||||
[Service]
|
||||
DynamicUser=true
|
||||
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||
NoNewPrivileges=true
|
||||
# NoNewPrivileges prevents the setgid mechanism from working
|
||||
# so since msmtp is setgid in order to read /etc/msmtprc, the
|
||||
# msmtp group need to be added in a different way
|
||||
SupplementaryGroups=msmtp
|
||||
|
||||
Environment=INTERFACE=127.0.0.1 PORT=25
|
||||
EnvironmentFile=-/etc/sysconfig/msmtpd
|
||||
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/msmtpd --interface=${INTERFACE} --port=${PORT}
|
||||
|
||||
Restart=always
|
||||
RestartSec=60
|
||||
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -6,3 +6,10 @@
|
|||
when: msmtp_send_test_mail
|
||||
async: 30
|
||||
poll: 5
|
||||
|
||||
- name: restart msmtpd
|
||||
ansible.builtin.systemd:
|
||||
state: restarted
|
||||
daemon_reload: yes
|
||||
name: msmtpd
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
galaxy_info:
|
||||
author: Adham Helal, Christian Wagner
|
||||
description: "Deploy msmtp mailer on Debian and Ubuntu"
|
||||
min_ansible_version: 2.4
|
||||
license: Apache
|
||||
platforms:
|
||||
- name: Debian
|
||||
versions:
|
||||
- jessie
|
||||
- stretch
|
||||
- buster
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- trusty
|
||||
- xenial
|
||||
- bionic
|
||||
- name: ArchLinux
|
||||
versions:
|
||||
- any
|
||||
- name: Alpine
|
||||
versions:
|
||||
- any
|
||||
tags:
|
||||
- mail
|
||||
- system
|
||||
- networking
|
113
tasks/main.yml
113
tasks/main.yml
|
@ -5,88 +5,71 @@
|
|||
# Fix: Check if mailserver is ready, as Test mail will only work,
|
||||
# if msmtp is setup after the mailserver is already configured
|
||||
|
||||
- name: Update apt cache.
|
||||
apt:
|
||||
update_cache: yes
|
||||
upgrade: "no"
|
||||
cache_valid_time: 14400 # 4 hours
|
||||
tags: mail
|
||||
when: ansible_os_family == "Debian"
|
||||
- name: Copy RPM file to server
|
||||
copy:
|
||||
src: msmtp-1.8.14-1.el8.x86_64.rpm
|
||||
dest: /tmp/msmtp-1.8.14-1.el8.x86_64.rpm
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Remove other MTAs.
|
||||
apt:
|
||||
name: "{{ packages }}"
|
||||
state: absent
|
||||
autoremove: yes
|
||||
purge: yes
|
||||
vars:
|
||||
packages:
|
||||
- exim4*
|
||||
- postfix*
|
||||
- sendmail*
|
||||
tags:
|
||||
- mail
|
||||
when:
|
||||
- msmtp_remove_mtas
|
||||
- ansible_os_family == "Debian"
|
||||
- name: Copy systemd unit file to server
|
||||
copy:
|
||||
src: msmtpd.service
|
||||
dest: /etc/systemd/system/msmtpd.service
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Install msmtp and mailx on Debian.
|
||||
apt:
|
||||
name: "{{ packages }}"
|
||||
state: present
|
||||
vars:
|
||||
packages:
|
||||
- msmtp-mta
|
||||
- bsd-mailx
|
||||
tags: mail
|
||||
notify: test mail
|
||||
when: ansible_os_family == "Debian"
|
||||
- name: enable daemon
|
||||
ansible.builtin.systemd:
|
||||
name: msmtpd
|
||||
enabled: yes
|
||||
masked: no
|
||||
daemon_reload: yes
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Install msmtp and s-nail on Archlinux.
|
||||
pacman:
|
||||
name: "{{ packages }}"
|
||||
state: present
|
||||
vars:
|
||||
packages:
|
||||
- msmtp
|
||||
- msmtp-mta
|
||||
- s-nail
|
||||
when: ansible_os_family == "Archlinux"
|
||||
|
||||
- name: Install msmtp and mailx on Alpine.
|
||||
apk:
|
||||
name: "{{ packages }}"
|
||||
state: present
|
||||
update_cache: no
|
||||
vars:
|
||||
packages:
|
||||
- msmtp
|
||||
- name: Install msmtp
|
||||
yum:
|
||||
name:
|
||||
- /tmp/msmtp-1.8.14-1.el8.x86_64.rpm
|
||||
- mailx
|
||||
when: ansible_os_family == "Alpine"
|
||||
state: present
|
||||
disable_gpg_check: yes
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Overwrite busybox sendmail link to point to mSMTP.
|
||||
file:
|
||||
src: /usr/bin/msmtp
|
||||
dest: /usr/sbin/sendmail
|
||||
state: link
|
||||
when: ansible_os_family == "Alpine"
|
||||
- name: Ensure group "msmtp" exists
|
||||
group:
|
||||
name: msmtp
|
||||
state: present
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Copy mstprc conf file.
|
||||
template:
|
||||
src: msmtprc.j2
|
||||
dest: /etc/msmtprc
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
group: msmtp
|
||||
mode: 0640
|
||||
tags: mail
|
||||
notify: test mail
|
||||
notify:
|
||||
- test mail
|
||||
- restart msmtpd
|
||||
|
||||
- name: Copy aliases conf file.
|
||||
template:
|
||||
src: aliases.j2
|
||||
src: aliases-rhel.j2
|
||||
dest: /etc/aliases
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
tags: mail
|
||||
notify: test mail
|
||||
notify:
|
||||
- test mail
|
||||
- restart msmtpd
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
- name: Copy sysconfig file.
|
||||
template:
|
||||
src: sysconfig.j2
|
||||
dest: /etc/sysconfig/msmtpd
|
||||
notify:
|
||||
- test mail
|
||||
- restart msmtpd
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
|
98
templates/aliases-rhel.j2
Normal file
98
templates/aliases-rhel.j2
Normal file
|
@ -0,0 +1,98 @@
|
|||
# {{ ansible_managed }}
|
||||
#
|
||||
# Aliases in this file will NOT be expanded in the header from
|
||||
# Mail, but WILL be visible over networks or from /bin/mail.
|
||||
#
|
||||
# >>>>>>>>>> The program "newaliases" must be run after
|
||||
# >> NOTE >> this file is updated for any changes to
|
||||
# >>>>>>>>>> show through to sendmail.
|
||||
#
|
||||
|
||||
# Basic system aliases -- these MUST be present.
|
||||
mailer-daemon: postmaster
|
||||
postmaster: root
|
||||
|
||||
# General redirections for pseudo accounts.
|
||||
bin: root
|
||||
daemon: root
|
||||
adm: root
|
||||
lp: root
|
||||
sync: root
|
||||
shutdown: root
|
||||
halt: root
|
||||
mail: root
|
||||
news: root
|
||||
uucp: root
|
||||
operator: root
|
||||
games: root
|
||||
gopher: root
|
||||
ftp: root
|
||||
nobody: root
|
||||
radiusd: root
|
||||
nut: root
|
||||
dbus: root
|
||||
vcsa: root
|
||||
canna: root
|
||||
wnn: root
|
||||
rpm: root
|
||||
nscd: root
|
||||
pcap: root
|
||||
apache: root
|
||||
webalizer: root
|
||||
dovecot: root
|
||||
fax: root
|
||||
quagga: root
|
||||
radvd: root
|
||||
pvm: root
|
||||
amandabackup: root
|
||||
privoxy: root
|
||||
ident: root
|
||||
named: root
|
||||
xfs: root
|
||||
gdm: root
|
||||
mailnull: root
|
||||
postgres: root
|
||||
sshd: root
|
||||
smmsp: root
|
||||
postfix: root
|
||||
netdump: root
|
||||
ldap: root
|
||||
squid: root
|
||||
ntp: root
|
||||
mysql: root
|
||||
desktop: root
|
||||
rpcuser: root
|
||||
rpc: root
|
||||
nfsnobody: root
|
||||
pcp: root
|
||||
|
||||
ingres: root
|
||||
system: root
|
||||
toor: root
|
||||
manager: root
|
||||
dumper: root
|
||||
abuse: root
|
||||
|
||||
newsadm: news
|
||||
newsadmin: news
|
||||
usenet: news
|
||||
ftpadm: ftp
|
||||
ftpadmin: ftp
|
||||
ftp-adm: ftp
|
||||
ftp-admin: ftp
|
||||
www: webmaster
|
||||
webmaster: root
|
||||
noc: root
|
||||
security: root
|
||||
hostmaster: root
|
||||
info: postmaster
|
||||
marketing: postmaster
|
||||
sales: postmaster
|
||||
support: postmaster
|
||||
|
||||
|
||||
# trap decode to catch security attacks
|
||||
decode: root
|
||||
|
||||
# Person who should get root's mail
|
||||
root: {{ msmtp_alias_root if msmtp_alias_root is defined else msmtp_alias_default }}
|
|
@ -1,10 +0,0 @@
|
|||
# {{ ansible_managed }}
|
||||
#### /etc/aliases
|
||||
#root mail
|
||||
root: {{ msmtp_alias_root if msmtp_alias_root is defined else msmtp_alias_default }}
|
||||
|
||||
#cron mail
|
||||
cron: {{ msmtp_alias_cron if msmtp_alias_cron is defined else msmtp_alias_default }}
|
||||
|
||||
#default all other mails
|
||||
default: {{msmtp_alias_default}}
|
|
@ -23,7 +23,9 @@ logfile {{msmtp_logfile}}
|
|||
# default is localhost. Use domain part of your email address or FQDN of host.
|
||||
domain {{msmtp_domain}}
|
||||
# default is off. When on, an envelope-from address of the form user@domain will be generated.
|
||||
auto_from off
|
||||
auto_from {{msmtp_auto_from}}
|
||||
# Set a domain part for the generation of an envelope-from address (auto_from)
|
||||
maildomain {{msmtp_domain}}
|
||||
# The default is to remove BCC headers.
|
||||
# remove_bcc_headers on|off
|
||||
|
||||
|
|
2
templates/sysconfig.j2
Normal file
2
templates/sysconfig.j2
Normal file
|
@ -0,0 +1,2 @@
|
|||
# {{ ansible_managed }}
|
||||
INTERFACE={{msmtp_listen_interface}}
|
Loading…
Reference in a new issue