Postfix » Historique » Révision 27
Révision 26 (Patrice Nadeau, 2015-06-21 17:37) → Révision 27/79 (Patrice Nadeau, 2015-06-21 17:40)
h1. Postfix
> Issue : #16
http://www.postfix.org
Logiciel de courrier électronique permettant, le transfert de courrier électronique (Message Transfert Agent).
Souvent installé de base pour l’envoie des message du serveur à une adresse externe.
----
{{toc}}
Si le serveur doit envoyer et recevoir des messages de et vers l’Internet, les items suivant sont obligatoire :
* Domaine : Un nom de domaine enregistrer et sa gestion disponible
* MX records : pour permettre la réception de courriel.
* SPF records : pour permettre l’envoie de messages sans être bannis par les « reverse lookup ».
Un serveur de relais (SMTP) externe seras nécessaire pour envoyer des courriels vers l’Internet si le port 25 est bloqué en entré (la majorité des cas).
Les fichiers de configuration sont :
* _/etc/postfix/master.cf_
* _/etc/postfix/main.cf_
h2. Installation
<pre><code class="bash">
zypper install postfix
systemctl enable postfix
systemctl start postfix
# Ouvrir dans le pare-feu seulement si le serveur doit recevoir des courriels
yast firewall services add service=service:smtp zone=EXT
</code></pre>
h2. Configuration
Si les courriels doivent sortir via un relais sur un autre serveur SMTP, modifier le fichier _/etc/postfix/main.cf_ :
<pre><code class="bash">
# Inscrire votre serveur SMTP de sortie
relayhost = smtp_server
# Spécifier toutes les interfaces
inet_interfaces = all
# A la ligne mydestination, ajouter
$mydomain
# Permettre aux machines du réseau local, l'utilisation du serveur
smtpd_client_restrictions = permit_mynetworks
</code></pre>
> La ligne myhostname DOIT être la même que l’enregistrement DNS de type MX sur internet pour ce domaine.
h2. Création de «blacklist» et de «whitelist».
Informations provenant de : http://www.postfix.org/RESTRICTION_CLASS_README.html
Fichier _/etc/postfix/main.cf_
<pre><code class="bash">
smtpd_recipient_restrictions =
check_sender_access hash: /etc/postfix/sender_access
</code></pre>
Créer un fichier _/etc/postfix/sender_access_.
Placer à l’intérieur, l’adresse de courriel, le nom de domaine ou l’adresse IP avec l’une des options :
* OK
* REJECT
Modifier le fichier _/etc/postfix/sender_access_ :
<pre><code class="bash">
# myfriend.com OK
# myennemies.com REJECT
# myfriend@example.com OK
# junk@spam.com REJECT
# marketing@ REJECT
# theboss@ OK
# deals.marketing.com REJECT
# somedomain.com OK
101.15.251.176 REJECT
</code></pre>
Relancer :
<pre><code class="bash">
postmap /etc/postfix/sender_access
postfix reload
</code></pre>
h3. Utilisation de services de « blacklist » internet :
Modifier le fichier _/etc/postfix/main.cf_ :
<pre><code class="bash">
smtpd_recipient_restrictions =
reject_rbl_client zen.spamhaus.org,
reject_rhsbl_helo dbl.spamhaus.org,
reject_rhsbl_sender dbl.spamhaus.org,
</code></pre>
h3. Alias
Usagers systèmes devant être redirigé vers des comptes utilisateurs réel.
Les ajouter dans le fichier _/etc/postfix/aliases_
Lancer la commande _newaliases_ pour activer les changements.
h3. Options courantes
Dans _main.cf_ :
* *message_size_limit* :
h2. Entrés DNS
h3. A record
h3. MX record
h3. SPF record
Ajouter ceux du fournisseur internet (le fournisseur et et tous ses abonnées pourront "se faire passer" pour le domaine)
h2. Test
h3. SPF
Envoyer un courriel à une des adresses suivantes :
* check-auth@verifier.port25.com
* check-auth2@verifier.port25.com
h3. TLS
Site internet pour vérifier la configuration TLS :
* Envoie : https://www.checktls.com/perl/TestSender.pl
* Réception : https://www.checktls.com/perl/TestReceiver.pl
h2. Dépannage
La commande *mailq* permet de voir les requêtes en attentes.
h3. Droits sur les dossiers
h4. openSUSE
Les droits doivent être _rwxr-s-r-x_ avec comme proprietaire _root:maildrop_ sur les fichiers suivants :
/usr/sbin/
* postqueue
* postdrop
Pour les corriger :
<pre><code class="bash">
chown -R root:maildrop /usr/bin/postqueu
chmod -R g+s /usr/bin/postqueue
chown -R root:maildrop /usr/bin/postdrop
chmod -R g+s /usr/bin/postdrop
</code></pre>
h3. Messages ne s'envoient pas
> Vu sur une nouvelle installation openSUSE 13.2
La commande _postqueue -p_ affiche : *address resolver failure*
Modififer le fichier */etc/postfix/main.cf*
<pre><code class="bash">
disable_dns_lookups = yes
</code></pre>
h3. Messages *error: open database /etc/postfix/relay.db: No such file or directory*
> Vu sur une nouvelle installation openSUSE 13.2
Exécuter la commande
<pre><code class="bash">
postmap /etc/postfix/relay
</code></pre>