« Postfix » : différence entre les versions

De Le Wiki de Lug
Aller à la navigation Aller à la recherche
 
(14 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Ubuntu / Debian =
= Ubuntu / Debian =
== Installation ==
== Installation ==
# apt update && apt upgrade
  # apt install postfix mailutils
  # apt install postfix mailutils
{{Méta bandeau
{{Méta bandeau
Ligne 7 : Ligne 8 :
   | texte  = Le paquet "'''mailutils'''" permet d'installer la commande "'''mail'''" pour tester la configuration.
   | texte  = Le paquet "'''mailutils'''" permet d'installer la commande "'''mail'''" pour tester la configuration.
  }}
  }}
== Configuration ==
== Configuration ==
  # dpkg-reconfigure postfix
  # dpkg-reconfigure postfix
Ligne 51 : Ligne 53 :
{{Méta bandeau
{{Méta bandeau
   | niveau = grave
   | niveau = grave
   | icône = important
   | icône = grave
   | texte  = Déconseillé, Google bloquera votre IP dès que votre usage sera suffisamment important pour leur paraître suspect, préférez un serveur SMTP authentifié.
   | texte  = Déconseillé, Google bloquera votre IP dès que votre usage sera suffisamment important pour leur paraître suspect, préférez un serveur SMTP authentifié.
  }}
  }}
Ligne 86 : Ligne 88 :
  # postmap /etc/postfix/sasl_passwd
  # postmap /etc/postfix/sasl_passwd
*On crée le certificat :
*On crée le certificat :
  # openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650  -out /etc/postfix/cacert.pem
  # openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Remplir les champs demandés ou laisser vide.
}}
*On configure Postfix :
*On configure Postfix :
  # vi /etc/postfix/main.cf
  # vi /etc/postfix/main.cf


  <font color = grey>...</font>
  <font color = grey>...</font>
  mydestination = $myhostname, localhost.$mydomain, localhost
  mydestination = $myhostname, localhost.$mydomain, localhost<font color = blue>, monserveur.mondomaine.net</font>
  <font color = blue>relayhost = [smtp.gmail.com]:587
  relayhost =<font color = blue> [smtp.gmail.com]:587
myhostname = <font color = green>nomduserveur</font>
  smtp_sasl_auth_enable = yes
  smtp_sasl_auth_enable = yes
  smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
Ligne 103 : Ligne 101 :
  smtp_tls_CAfile = /etc/postfix/cacert.pem
  smtp_tls_CAfile = /etc/postfix/cacert.pem
  smtp_tls_security_level = encrypt
  smtp_tls_security_level = encrypt
  smtp_use_tls = yes</font>
  #smtp_use_tls = yes</font>
  mynetworks = 127.0.0.0/:8
  mynetworks = 127.0.0.0/:8
  <font color = grey>...</font>
  <font color = grey>...</font>
{{Méta bandeau
  | niveau = modéré
  | icône = modéré
  | texte  = Attention à supprimer les lignes qui pourraient faire doublon avec les lignes de configuration rajoutées.
}}
Il faut vérifier que le nom de l'expéditeur utiliser par le serveur est valide, tout d'abord on vérifie le nom d'origine utilisé :
# vi /etc/postfix/main.cf


<font color = grey>...</font>
myorigin = /etc/mailname
<font color = grey>...</font>
Puis ont édite le nom de serveur utilisé :
# vi /etc/mailname
On peut simplement utiliser "localdomain" pour contourner les problèmes de domaine invalide :
<font color = green>monserveur</font><font color = blue>.localdomain</font>
{{Méta bandeau
  | niveau = modéré
  | icône = modéré
  | texte  = Le nom du serveur.localdomain doit apparaitre dans "/etc/postfix/main.cf" à la ligne "mydestination =" sinon postfix ne comprendra pas qu'il s'agit de la machine locale.
}}
Enfin, on redémarre le service :
  # service postfix reload
  # service postfix reload


Ligne 154 : Ligne 172 :
  # postmap /etc/postfix/sasl_passwd
  # postmap /etc/postfix/sasl_passwd
*On crée le certificat :
*On crée le certificat :
  # openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650  -out /etc/postfix/cacert.pem
  # openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Remplir les champs demandés ou laisser vide.
}}
*On configure Postfix :
*On configure Postfix :
  # vi /etc/postfix/main.cf
  # vi /etc/postfix/main.cf
Ligne 195 : Ligne 208 :
Pour débugger :
Pour débugger :
  # grep mail /var/log/messages
  # grep mail /var/log/messages
= Alma Linux / Rocky Linux =
== Installation ==
# dnf update
# dnf install postfix s-nail
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Le paquet "'''s-nail'''" permet d'installer la commande "'''mail'''" pour tester la configuration.
}}
On active et démarre le service :
# systemctl enable postfix --now
== Configuration==
On redirige les messages à destination de "root" sur un courriel :
# vi /etc/aliases
<font color = grey>...
# Person who should get root's mail</font>
<font color = blue>root:          <font color = green>moncourriel@exemple.net</font></font>
# newaliases
=== Exemple avec GMail ===
{{Méta bandeau
  | niveau = information
  | icône = loupe
  | texte  = Pour cette méthode il est recommandé d'utiliser [https://support.google.com/mail/answer/185833?hl=fr '''<u>un mot de passe d'application</u>''']. (L'autre solution étant d'activer [https://support.google.com/accounts/answer/6010255?hl=fr '''les applications moins sécurisées'''] en dégradant la sécurité de votre compte Gmail..)
}}
# dnf install cyrus-sasl-plain
*On crée le fichier d'authentification :
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 <font color = blue>monadresse</font>@gmail.com:<font color = blue>motdepasse</font>
# chmod 400 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd
*On crée le certificat :
# openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
*On configure Postfix :
# rm /etc/postfix/main.cf -f
# vi /etc/postfix/main.cf
alias_maps = lmdb:/etc/aliases
alias_database = lmdb:/etc/aliases
myhostname = <font color = green>monserveur</font>
mydestination = $myhostname.$mydomain, $myhostname, localhost.$mydomain, localhost, <font color = blue>monserveur.mondomaine.net</font>
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_security_level = encrypt
smtp_use_tls = yes
mynetworks = 127.0.0.0/8
recipient_delimiter = +
mailbox_size_limit = 0
On redémarre le service pour activer les modifications :
# newaliases
# service postfix reload
== Test ==
# mail -s "Courriel de test" root < /dev/null
Le courriel doit arriver à l'adresse de redirection renseignée pour "root" dans "/etc/aliases".
Pour débugger :
# cat /var/log/maillog

Dernière version du 13 avril 2026 à 11:09

Ubuntu / Debian

Installation

# apt update && apt upgrade
# apt install postfix mailutils

Configuration

# dpkg-reconfigure postfix

Renseigner les options suivantes :

  • Internet Site

Drôle de dénomination..

  • Non de l'expéditeur (par défaut le nom réel du serveur est utiliser, le modifier ne semble pas avoir d'incidence)

Nom de l'expéditeur, normalement le nom du serveur pour l'identifier facilement.

  • Adresse de réception pour "root" et "postmaster"

Votre adresse mail pour recevoir les mails internes du serveurs.

  • Domaines autorisés (laisser par défaut pour ne rediriger que les mails locaux; le nom "réel" de la machine local doit être inscrit)

Domaines de destination finale pour Postfix.

  • File d'attente (par défaut)

On laisse par défault, à moins d'utiliser un système de ficgier sans journalisation..

  • Réseau pour relai mail (par défaut)

On laisse la valeur par défaut..

  • Limite taille boîte mail (0 par défaut pour illimiter)

Taille maximal des boîtes mail..

  • Caractère d'identification des adresses locales (par défaut)

On laisse par défaut.

  • Protocoles réseau d'écoute activés (tous par défaut)

On laisse par défaut.

On recharge la configuration :

# systemctl reload postfix

On redirige les messages à destination de "root" sur un courriel :

# vi /etc/aliases
...
root: moncourriel@exemple.net
# newaliases

On configure le serveur relai pour l'envoie (SMTP relay) :

Exemple avec "aspmx.l.google.com"

# vi /etc/postfix/main.cf
# vi /etc/postfix/main.cf
...
relayhost = [aspmx.l.google.com]:25
...
# systemctl reload postfix

Exemple avec Gmail

Source de qualitay

  • On install une dépendence :
# apt install libsasl2-modules
  • On crée le fichier d'authentification :
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 monadresse@gmail.com:motdepasse
# chmod 400 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd
  • On crée le certificat :
# openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
  • On configure Postfix :
# vi /etc/postfix/main.cf
...
mydestination = $myhostname, localhost.$mydomain, localhost, monserveur.mondomaine.net
relayhost = [smtp.gmail.com]:587
myhostname = nomduserveur
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_security_level = encrypt
#smtp_use_tls = yes
mynetworks = 127.0.0.0/:8
...

Il faut vérifier que le nom de l'expéditeur utiliser par le serveur est valide, tout d'abord on vérifie le nom d'origine utilisé :

# vi /etc/postfix/main.cf
...
myorigin = /etc/mailname
...

Puis ont édite le nom de serveur utilisé :

# vi /etc/mailname

On peut simplement utiliser "localdomain" pour contourner les problèmes de domaine invalide :

monserveur.localdomain

Enfin, on redémarre le service :

# service postfix reload

Test

# mail -s "Courriel de test" root < /dev/null

Le courriel doit arriver à l'adresse de redirection renseignée pour "root" dans "/etc/aliases".

Pour débugger :

# cat /var/log/mail.log

Alpine Linux

Installation

# apk update && apk upgrade
# apk add postfix mailutils

On active le service immédiatement et au redémarrage :

# rc-update add postfix default
# service postfix start

Configuration

On redirige les messages à destination de "root" sur un courriel :

# cp /etc/postfix/aliases /etc/aliases
# vi /etc/aliases
...
# Person who should get root's mail. Don't receive mail as root!
root:           moncourriel@exemple.net
...

Exemple avec Gmail

  • On install les dépendances pour le cryptage :
# apk add libsasl openssl
  • On crée le fichier d'authentification :
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 monadresse@gmail.com:motdepasse
# chmod 400 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd
  • On crée le certificat :
# openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
  • On configure Postfix :
# vi /etc/postfix/main.cf

Rajouter les lignes suivantes en fin de fichier :

...
alias_maps = lmdb:/etc/aliases
alias_database = lmdb:/etc/aliases
myhostname = monserveur
mydestination = $myhostname.$mydomain, $myhostname, localhost.$mydomain, localhost, monserveur.mondomaine.net
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = lmdb:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_security_level = encrypt
smtp_use_tls = yes
mynetworks = 127.0.0.0/8
recipient_delimiter = +

mailbox_size_limit = 0


# newaliases
# service postfix reload

Test

# mail -s "Courriel de test" root < /dev/null

Le courriel doit arriver à l'adresse de redirection renseignée pour "root" dans "/etc/aliases".

Pour débugger :

# grep mail /var/log/messages

Alma Linux / Rocky Linux

Installation

# dnf update
# dnf install postfix s-nail

On active et démarre le service :

# systemctl enable postfix --now

Configuration

On redirige les messages à destination de "root" sur un courriel :

# vi /etc/aliases
...
# Person who should get root's mail
root:           moncourriel@exemple.net
# newaliases

Exemple avec GMail

# dnf install cyrus-sasl-plain
  • On crée le fichier d'authentification :
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 monadresse@gmail.com:motdepasse
# chmod 400 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd
  • On crée le certificat :
# openssl req -newkey rsa:4096 -new -nodes -x509 -out /etc/postfix/cacert.pem -keyout /etc/postfix/privkey.pem -subj '/CN=localhost'
  • On configure Postfix :
# rm /etc/postfix/main.cf -f
# vi /etc/postfix/main.cf
alias_maps = lmdb:/etc/aliases
alias_database = lmdb:/etc/aliases
myhostname = monserveur
mydestination = $myhostname.$mydomain, $myhostname, localhost.$mydomain, localhost, monserveur.mondomaine.net
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_security_level = encrypt
smtp_use_tls = yes
mynetworks = 127.0.0.0/8
recipient_delimiter = +

mailbox_size_limit = 0

On redémarre le service pour activer les modifications :

# newaliases
# service postfix reload

Test

# mail -s "Courriel de test" root < /dev/null

Le courriel doit arriver à l'adresse de redirection renseignée pour "root" dans "/etc/aliases".

Pour débugger :

# cat /var/log/maillog