GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer et configurer Postfix Mail Server sur CentOS 8

Suffixe est un MTA gratuit et open source (Mail Transfer Agent) utilisé pour le routage ou la livraison des e-mails sur un système Linux. Dans ce guide, vous apprendrez comment installer et configurer Postfix sur CentOS 8.

Configuration de l'atelier :

  • SE :                  Serveur CentOS 8
  • Adresse IP :   192.168.1.13
  • Nom d'hôte :    server1.crazytechgeek.info (assurez-vous que le nom de domaine pointe vers l'adresse IP du serveur)

Étape 1) Mettre à jour le système

La première étape consiste à s'assurer que les packages du système sont à jour. Pour ce faire, mettez à jour le système comme suit :

# dnf update

Avant de poursuivre, assurez-vous également qu'aucun autre MTA comme Sendmail existent car cela provoquera un conflit avec la configuration de Postfix. Pour supprimer Sendmail, par exemple, exécutez la commande :

# dnf remove sendmail

Étape 2) Définir le nom d'hôte et mettre à jour le fichier /etc/hosts

Utilisez la commande hostnamectl ci-dessous pour définir le nom d'hôte sur votre système,

# hostnamectl set-hostname server1.crazytechgeek.info
# exec bash

De plus, vous devez ajouter le nom d'hôte et les entrées IP du système dans le fichier /etc/hosts

# vim /etc/hosts
192.168.1.13   server1.crazytechgeek.info

Enregistrez et quittez le fichier.

Lire aussi  : Comment configurer le serveur DNS (liaison) sur CentOS 8/RHEL8

Étape 3) Installer le serveur de messagerie Postfix

Après avoir vérifié qu'aucun autre MTA n'est en cours d'exécution sur le système, installez Postfix en exécutant la commande :

# dnf install postfix

Étape 4) Démarrer et activer le service Postfix

Une fois l'installation de Postfix réussie, démarrez et activez le service Postfix en exécutant :

# systemctl start postfix
# systemctl enable postfix

Pour vérifier l'état de Postfix, exécutez la commande systemctl suivante

# systemctl status postfix

Super, nous avons vérifié que Postfix est opérationnel. Ensuite, nous allons configurer Postfix pour envoyer des emails localement à notre serveur.

Étape 5) Installer le client de messagerie mailx

Avant de configurer le serveur Postfix, nous devons installer la fonctionnalité mailx. Pour installer mailx, exécutez la commande :

# dnf install mailx

Étape 6) Configurer le serveur de messagerie Postfix

Le fichier de configuration de Postfix se trouve dans /etc/postfix/main.cf . Nous devons apporter quelques modifications au fichier de configuration, alors ouvrez-le à l'aide de votre éditeur de texte préféré.

# vi /etc/postfix/main.cf

Modifiez les lignes suivantes :

myhostname = server1.crazytechgeek.info
mydomain = crazytechgeek.info
myorigin = $mydomain
## Uncomment and Set inet_interfaces to all ##
inet_interfaces = all
## Change to all ##
inet_protocols = all
## Comment ##
#mydestination = $myhostname, localhost.$mydomain, localhost
##- Uncomment ##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
## Uncomment and add IP range ##
mynetworks = 192.168.1.0/24, 127.0.0.0/8
## Uncomment ##
home_mailbox = Maildir/

Une fois cela fait, enregistrez et quittez le fichier de configuration. Redémarrez le service postfix pour que les modifications prennent effet

# systemctl restart postfix

Étape 7) Tester le serveur de messagerie Postfix

Testez si notre configuration fonctionne, commencez par créer un utilisateur test

# useradd postfixuser
# passwd postfixuser

Ensuite, exécutez la commande ci-dessous pour envoyer un e-mail depuis pkumar utilisateur local à un autre utilisateur 'postfixuser

# telnet localhost smtp
or
# telnet localhost 25

Si le service telnet n'est pas installé, vous pouvez l'installer à l'aide de la commande :

# dnf install telnet -y

Lorsque vous exécutez la commande comme indiqué précédemment, vous devriez obtenir la sortie comme indiqué

[[email protected] ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.crazytechgeek.info ESMTP Postfix

Ci-dessus, confirmez que la connectivité au serveur de messagerie postfix fonctionne correctement. Tapez ensuite la commande :

# ehlo localhost

La sortie ressemblera à ceci

250-server1.crazytechgeek.info
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

Ensuite, exécutez les commandes surlignées en orange, comme "mail from", "rcpt to", data et enfin tapez quit,

mail from:<pkumar>
250 2.1.0 Ok
rcpt to:<postfixuser>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hello, Welcome to my mailserver (Postfix)
.
250 2.0.0 Ok: queued as B56BF1189BEC
quit
221 2.0.0 Bye
Connection closed by foreign host

Terminez la commande telnet pour envoyer un e-mail à partir de l'utilisateur local "pkumar ” à un autre utilisateur local “postfixuser ” serait quelque chose comme ci-dessous

Si tout s'est déroulé comme prévu, vous devriez pouvoir voir l'e-mail envoyé dans le répertoire personnel du nouvel utilisateur.

# ls /home/postfixuser/Maildir/new
1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

Pour lire l'e-mail, utilisez simplement la commande cat comme suit :

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

Journaux du serveur de messagerie Postfix

Les journaux de messagerie du serveur de messagerie Postfix sont stockés dans le fichier "/var/log/maillog ", utilisez la commande ci-dessous pour afficher les journaux en direct,

# tail -f /var/log/maillog

Sécuriser le serveur de messagerie Postfix

Il est toujours recommandé de sécuriser la communication entre les clients et le serveur postfix, cela peut être réalisé à l'aide de certificats SSL, ces certificats peuvent provenir d'une autorité de confiance ou de certificats auto-signés. Dans ce tutoriel, nous allons générer un certificat auto-signé pour postfix en utilisant openssl commande,

Je suppose que openssl est déjà installé sur votre système, s'il n'est pas installé, utilisez la commande dnf suivante,

# dnf install openssl -y

Générez une clé privée et une CSR (demande de signature de certificat) à l'aide de la commande openssl ci-dessous,

# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr

Générez maintenant un certificat auto-signé à l'aide de la commande openssl suivante,

# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
Signature ok
subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = [email protected]
Getting Private key
#

Copiez maintenant la clé privée et le fichier de certificat dans le répertoire /etc/postfix

# cp mail.key mail.crt /etc/postfix

Mettre à jour le chemin de la clé privée et du fichier de certificat dans le fichier de configuration de postfix,

# vi /etc/postfix/main.cf
………
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail.crt
smtpd_tls_key_file = /etc/postfix/mail.key
smtpd_tls_security_level = may
………

Redémarrez le service postfix pour apporter les modifications ci-dessus à l'effet.

# systemctl restart postfix

Essayons d'envoyer des e-mails au domaine local interne et au domaine externe à l'aide du client mailx.

Envoi d'un e-mail interne local de l'utilisateur pkumar à l'utilisateur postfix

# echo "test email" | mailx -s "Test email from Postfix MailServer" -r [email protected] [email protected]

Vérifiez et lisez l'e-mail en utilisant ce qui suit,

# cd /home/postfixuser/Maildir/new/
# ll
total 8
-rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
-rw-------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Envoi d'e-mails de postfixuser vers un domaine externe ([email protected])

# echo "External Test email" | mailx -s "Postfix MailServer" -r [email protected] [email protected]

Remarque : Si votre IP n'est nulle part sur la liste noire, votre e-mail vers un domaine externe sera livré, sinon il sera renvoyé en disant que l'IP est sur la liste noire dans telle ou telle base de données spamhaus.

Vérifiez la file d'attente des e-mails de Postfix

Utilisez la commande mailq pour lister les mails qui sont en file d'attente.

# mailq
Mail queue is empty
#

Et c'est tout! Notre configuration Postfix fonctionne ! C'est tout pour le moment. Nous espérons que vous avez trouvé ce didacticiel instructif et que vous pourrez confortablement configurer votre serveur Postfix local.

Lire aussi  :Comment installer et configurer Samba sur CentOS 8


Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer et configurer Postfix

  3. Comment installer et configurer Gitlab sur CentOS 8

  4. Comment installer et configurer Postgres 13 sur Centos 8

  5. Comment installer et configurer Postfix sur Ubuntu 20.04

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment installer et configurer Postfix sur Debian

Comment installer et configurer Memcached sur CentOS 8

Comment installer et configurer le serveur DHCP sur Centos 8

Comment installer et configurer le serveur Sandstorm sur CentOS 8

Comment installer et configurer VNC Server sur CentOS/RHEL 8