memiah.mail-relay
Relai de Mail Postfix
Configurer Postfix pour envoyer via un relai de mail, par exemple Amazon SES.
Exigences
Si l'option de relai de mail choisie est d'utiliser Amazon AWS SES, créez une politique utilisateur IAM "AmazonSesSendingAccess-[nom_utilisateur]" pour l'utilisateur, par exemple :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
Variables de Rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
) :
postfix_relay_enabled: True
Par défaut, la configuration de Postfix est activée, donc pour désactiver, mettez sur False
.
postfix_relay_server: ""
Nom d'hôte du serveur de relai Postfix, par exemple "email-smtp.region.amazonaws.com".
postfix_relay_port: 587
Port du serveur de relai Postfix.
postfix_myhostname: False
Le paramètre myhostname spécifie le nom d'hôte Internet de ce système de mail. Par défaut, il utilise le nom de domaine complet de gethostname(). $myhostname est utilisé comme valeur par défaut pour de nombreux autres paramètres de configuration.
postfix_mydomain: False
Le paramètre mydomain spécifie le nom de domaine Internet local. Par défaut, il utilise $myhostname moins le premier composant. $mydomain est utilisé comme valeur par défaut pour de nombreux autres paramètres de configuration.
postfix_myorigin: False
Le paramètre myorigin spécifie le domaine d'où proviennent les mails envoyés localement. Par défaut, il ajoute $myhostname, ce qui convient pour les petits sites. Si vous gérez un domaine avec plusieurs machines, vous devez (1) changer cela en $mydomain et (2) configurer une base de données d'alias à l'échelle du domaine qui associe chaque utilisateur à user@that.users.mailhost.
Pour assurer la cohérence entre les adresses de l'expéditeur et du destinataire, myorigin spécifie également le nom de domaine par défaut qui est ajouté aux adresses des destinataires n'ayant pas de partie @domaine.
postfix_relay_recipient_canonical_maps: regexp:/etc/postfix/recipient_canonical_maps
Table de correspondance des adresses pour les adresses des destinataires dans l'enveloppe et l'en-tête utilisant recipient_canonical_maps. Par défaut, cela utilise le type de table regexp.
postfix_relay_recipient_canonical: []
# - pattern: "/./" (Requis)
# address: "[email protected]" (Requis)
Liste des destinataires canoniques basée sur le format des tables d'expressions régulières.
postfix_relay_recipient_canonical_classes: envelope_recipient
Adresses soumises à la correspondance d'adresse canonical_maps. Spécifiez une ou plusieurs des valeurs suivantes :
envelope_sender
, envelope_recipient
, header_sender
, header_recipient
.
postfix_relay_catch_all_address: False
# postfix_relay_catch_all_address: [email protected]
Adresse email pour rediriger tous les emails. Par défaut, cela est désactivé et ne devrait généralement être activé que dans les environnements de développement. Si spécifié, cela remplacera tous les éléments postfix_relay_recipient_canonical
.
postfix_relay_catch_all_pattern: /./
Modèle (regexp) par défaut utilisé pour piéger tous les emails et les envoyer à l'adresse de redirection.
postfix_virtual_alias_maps:
- address: root
alias: root@localhost
Livrer le mail aux comptes locaux en configurant des alias virtuels. Par défaut, tout mail à root
sera envoyé à root@localhost
(livré localement). Désactivez tous les alias par défaut en mettant cette valeur à False
.
postfix_relayhost_maps: []
# - domain: "@domain.com" (Requis)
# server: "" (Facultatif, par défaut à postfix_relay_server)
# port: 587 (Facultatif, par défaut à postfix_relay_port)
# user: "user-here" (Facultatif, par défaut à postfix_relay_user)
# password: "password-here" (Facultatif, par défaut à postfix_relay_password)
Permet smtp_sender_dependent_authentication
pour permettre aux mails d'être relayés à travers
plusieurs hôtes avec des informations d'identification différentes, en fonction de l'adresse e-mail de l'expéditeur. Notez que la valeur de domaine peut être spécifiée comme une adresse complète [email protected]
ou un motif générique utilisant @domain.com
. (Voir la documentation de relayhost_map de Postfix.)
postfix_relay_user: ""
Définir l'utilisateur du relai Postfix.
postfix_relay_password: ""
Définir le mot de passe du serveur de relai.
postfix_relay_secret_key: "cle-secrete-ici"
Générer le mot de passe de relai à partir de la clé secrète AWS spécifiée. Ou, renseignez manuellement la valeur postfix_relay_password
en convertissant une clé secrète AWS existante en mot de passe SMTP Amazon SES à l'aide du script bash inclus :
./scripts/aws-ses-smtp-password.sh cle-secrete-ici
Dépendances
Aucune.
Exemple de Playbook
Inclure un exemple de comment utiliser votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours apprécié par les utilisateurs :
- hosts: servers
become: yes
vars_files:
- vars/main.yml
roles:
- memiah.mail-relay
Dans vars/main.yml
:
postfix_relay_user: "user_here"
postfix_relay_password: "password_here"
postfix_relay_server: "email-smtp.region.amazonaws.com"
Licence
MIT / BSD
Informations sur l'Auteur
Ce rôle a été créé en 2016 par Memiah Limited.
ansible-galaxy install memiah.mail-relay