installer un serveur mail sur raspberry pi

Comment Installer un Serveur Mail sur Raspberry Pi ?

De nombreux projets nécessitent la possibilité d’envoyer des emails, mais la création d’un serveur de messagerie peut aussi être un projet à part entière. Nous allons donc voir les différentes étapes de la mise en place d’un serveur mail, que ce soit un simple SMTP ou une suite complète avec webmail inclus.

Postfix est le service principal à installer sur Raspberry Pi pour héberger un serveur de messagerie. Il permet d’envoyer et recevoir des e-mails. D’autres services peuvent ensuite être ajoutés, comme Dovecot pour le support POP/IMAP et Roundcube pour la création d’un webmail.

Nous allons maintenant voir comment installer tout ça dans ce tutoriel étape par étape.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Prérequis

Si vous souhaitez mettre en place un serveur SMTP, les exigences sont presque inexistantes.
Un Raspberry Pi et un serveur SMTP qui servira de relais sont suffisants (Gmail par exemple).

Si vous voulez suivre le tutoriel jusqu’à la fin, vous aurez besoin :

  • Un Raspberry Pi.
  • Un nom de domaine (je vais utiliser domain.com dans toutes les étapes ci-dessous, n’oubliez pas de le changer).
  • Une adresse IP publique statique (ou au moins un service DNS dynamique).

Sachez également que j’ai réalisé ce tutoriel sur Raspberry Pi OS, je vous recommande donc d’installer Raspberry Pi OS en premier (Lite sera suffisant) en suivant ce tutoriel.
Je vous suggère d’utiliser SSH pour suivre ce tutoriel depuis votre ordinateur habituel et de copier-coller les commandes et configurations (il y en a beaucoup !).

Avertissement de sécurité

Installer un serveur de messagerie n’est pas si simple.
Il est facile de rater la configuration et de transformer votre serveur en un relais SMTP ouvert au monde entier ou de recevoir des spams.

Veillez donc à suivre ce tutoriel avec précision, puis surveillez les logs pour vous assurer que vous êtes le seul à effectuer les actions qui se produisent sur votre serveur.
La mise en place de fonctions de sécurité supplémentaires, telles qu’un pare-feu ou un service Fail2ban, est également une bonne idée.

Configuration du DNS

Adresse IP

Dans les étapes suivantes, nous allons modifier les paramètres DNS de notre nom de domaine pour utiliser notre adresse IP comme serveur de messagerie.

Si vous n’avez pas d’adresse IP publique statique, vous devrez utiliser un service DNS dynamique gratuit comme No-IP pour rediriger un domaine vers votre adresse IP dynamique.
Vous devrez installer un outil pour leur donner régulièrement votre adresse IP actuelle, et ils redirigeront un domaine comme myserver.ddns.net vers votre dernière adresse IP connue (plus de détails concernant ce sujet ici).
Si vous n’avez pas de nom de domaine, je pense que vous pouvez utiliser cet alias directement.

Ce n’est pas l’option parfaite pour un serveur de courrier électronique, car vous aurez de petits temps d’arrêt lorsque votre IP changera, mais si vos courriels ne sont pas trop critiques, cela devrait aller.

Configuration de la zone DNS

Vous devez maintenant vous rendre chez votre fournisseur de nom de domaine et modifier ces zones pour qu’elles correspondent à votre adresse IP actuelle (ou au nom de domaine de votre fournisseur de DNS dynamique) :

  • MX
  • pop.domaine.com
  • smtp.domaine.com
  • imap.domaine.com
  • mail.domaine.com

Modifier les MX est obligatoire pour recevoir des e-mails sur votre Raspberry Pi. Les autres sont simplement des noms faciles à mémoriser pour accéder à vos emails.

Les modifications peuvent prendre jusqu’à 24 heures avant d’être appliquées.
Vous pouvez surveiller la progression des changements avec un outil en ligne comme Network-Tools.com.
Choisissez « DNS » dans la liste déroulante « Tool », et tapez le domaine ou le sous-domaine que vous voulez vérifier.

Il est possible d’utiliser un Raspberry Pi comme serveur DNS si cela vous intéresse (j’explique tout dans cet autre article).

Installez Postfix pour envoyer des e-mails

Passons maintenant à l’essentiel et à l’installation de Postfix.

Postfix sera la base de notre serveur de messagerie.
Il nous permettra d’envoyer et de recevoir des emails correspondant à notre nom de domaine.
Dans cette étape, nous allons apprendre à envoyer des emails.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Installation de Postfix sur Raspberry Pi

Commencez par installer le paquetage Postfix :
sudo apt install postfix

Lors de l’installation, vous devrez choisir ces deux options de configuration :

  • Le type général de configuration du courrier : Site Internet
  • Nom de messagerie du système : domain.com

Nous allons maintenant effectuer deux changements dans la configuration qui a été générée :

  • Ouvrez le fichier de configuration :
    sudo nano /etc/postfix/main.cf
  • Désactiver la gestion IPv6 :
    • Remplacer :
      inet_protocols = all
    • Avec :
      inet_protocols = ipv4
  • Entrez votre nom de domaine comme myhostname :
    myhostname= domaine.com
  • Si vous êtes sur un réseau local, la plupart des fournisseurs d’accès à Internet ne permettent pas d’envoyer des e-mails directement.
    Vous devrez donc peut-être ajouter un hôte relais dans votre configuration.
    Demandez à votre fournisseur le serveur à utiliser comme relais :
    relayhost = smtp.votrefournisseur.com
  • Sauvegarder et quitter (CTRL+O, Entrée, CTRL+X).
  • Redémarrez Postfix :
    sudo service postfix restart

À ce stade, le serveur devrait démarrer correctement sans erreurs.
Si ce n’est pas le cas, cherchez à résoudre ces problèmes avant de continuer.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Test du serveur Postfix

Nous allons maintenant faire notre premier test en envoyant un email depuis le Raspberry Pi.

Avec telnet

Pour ce test, nous allons utiliser telnet pour nous connecter à postfix.

  • Installez telnet :
    sudo apt-get install telnet
  • Connectez-vous au serveur SMTP :
    telnet localhost 25
  • Entrez cette série de commandes :
    • ehlo
    • mail from:
    • rcpt to:
    • data
    • Subject: test
    • Test
    • .
    • quit
  • Cette séquence de commandes va créer un e-mail et l’envoyer à (adresse e-mail externe).

Voici la trace complète :

pi@raspberrypi:~ $ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 domaine.com ESMTP Postfix (Raspbian)
ehlo domaine.com
250-domaine.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
mail from: 
250 2.1.0 Ok
rcpt to: 
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: test
Test
.
250 2.0.0 Ok: queued as 44EAE1FE54
quit
221 2.0.0 Bye

Mailutils

Si vous cherchez un moyen plus convivial de le faire, vous pouvez installer mailutils pour utiliser la commande mail.

  • Installez mailutils :
    sudo apt install mailutils
  • Envoyez un courriel de test avec la commande mail :
    echo 'Test' | mail -s "Test commande mail"

Dans les deux cas, vous pouvez suivre l’envoi du courriel dans ce fichier journal : /var/log/mail.log

Débogage

Dans tous les cas, vous pouvez consulter le fichier journal /var/log/mail.log pour voir ce qui se passe si vous n’avez pas reçu l’e-mail.
Si tout fonctionne correctement, vous devriez voir quelque chose comme ceci :
Jul 1 04:14:32 raspberrypi postfix/local[5433] : 734AA1FF96 : to=, relay=local, delay=0.09, delays=0.01/0.04/0/0.04, dsn=2.0.0, status=sent (delivered to mailbox)

Recevoir des e-mails avec Postfix

Il est maintenant temps d’éditer notre configuration Postfix pour recevoir des emails.

Configuration

Pour ce faire, nous utiliserons le format de boîtes aux lettres Maildir.
Maildir est un moyen sûr et facile de stocker des courriels : chaque boîte aux lettres est un répertoire, et chaque courriel est un fichier.

  • Modifiez le fichier de configuration :
    sudo nano /etc/postfix/main.cf
  • Ajoutez ces lignes à la fin du fichier :
    home_mailbox = Maildir/
    mailbox_command =

    Cette configuration indiquera à Postfix de créer un dossier Maildir pour chaque utilisateur du système.
    Ce dossier accueillera désormais vos nouveaux courriels entrants.

Maintenant, nous devons créer le modèle de dossier Maildir en suivant ces étapes :

  • Installez ces paquets :
    sudo apt install dovecot-common dovecot-imapd
  • Créez des dossiers dans le répertoire des modèles :
    sudo maildirmake.dovecot /etc/skel/Maildir
    sudo maildirmake.dovecot /etc/skel/Maildir/.Drafts
    sudo maildirmake.dovecot /etc/skel/Maildir/.Sent
    sudo maildirmake.dovecot /etc/skel/Maildir/.Spam
    sudo maildirmake.dovecot /etc/skel/Maildir/.Trash
    sudo maildirmake.dovecot /etc/skel/Maildir/.Templates

Ces modèles seront utilisés lorsque vous ajouterez de nouveaux utilisateurs sur votre Raspberry Pi.
Mais pour ceux qui existent déjà, vous devez le faire manuellement.

Par exemple, vous devez exécuter ces commandes pour pi :
sudo cp -r /etc/skel/Maildir /home/pi/
sudo chown -R pi:pi /home/pi/Maildir

sudo chmod -R 700 /home/pi/Maildir

Tests

Vous pouvez maintenant répéter le même type de test que précédemment, mais en mettant l’utilisateur pi en destinataire :
echo "Test" | mail -s "Test"

Et ensuite, vérifiez que le courrier est arrivé dans le dossier Maildir :

pi@raspberrypi:~ $ cat /home/pi/Maildir/new/1625109614.Vb302I205f1M127492.raspberrypi
 Return-Path: 
 X-Original-To: 
 Delivered-To: 
 Received: by rpi.tips (Postfix, from userid 1000)
         id 1CC5A205F2; Thu,  1 Jul 2021 04:20:14 +0100 (BST)
 Subject: Test commande mail
 To: 
 X-Mailer: mail (GNU Mailutils 3.5)
 Message-Id: 
 Date: Thu,  1 Jul 2021 04:20:14 +0100 (BST)
 From: pi@raspberrypi
 Test

Vous ne devriez avoir qu’un seul courrier dans le nouveau dossier, utilisez l’autocomplétion (touche tabulation) pour le trouver.
Comme vous pouvez le voir, l’adresse du chemin de retour n’est pas correcte, vous devez changer votre nom d’hébergement pour corriger cela :
sudo hostname domain.com
Plus de détails ici sur comment changer le nom d’hôte sur un Raspberry Pi (ce n’est pas si simple).

Nous avons atteint notre objectif pour cette étape.
Nous avons reçu les emails envoyés à notre domaine.

Sécuriser le serveur de messagerie

Comme je l’ai dit au début, il y a quelques options à mettre en place pour sécuriser un minimum le serveur web.

  • Modifiez votre fichier de configuration :
    sudo nano /etc/postfix/main.cf
  • Ajoutez ces lignes à la fin du fichier :
    smtpd_helo_restrictions =
    permit_mynetworks =
    permit_sasl_authenticated =
    reject_invalid_helo_hostname =
    reject_non_fqdn_helo_hostname =
    reject_unknown_helo_hostname =
    check_helo_access =
    hash:/etc/postfix/helo_access =
  • Cette configuration limitera l’utilisation du SMTP au réseau local et rejettera les personnes disant qu’elles proviennent de votre nom de domaine.
  • Créez le fichier helo_access :
    sudo nano /etc/postfix/helo_access
    Dans ce fichier, nous devons mettre la liste des noms de domaine que nous voulons bloquer.
  • Collez-y ces lignes :
    X.X.X.X REJECT
    domaine.com REJECT
    smtp.domaine.com REJECT
    mail.domaine.com REJECT

    Remplacez X.X.X.X par votre adresse IP publique.
  • Redémarrez le service postfix :
    sudo service postfix restart

Installer Dovecot pour permettre les connexions POP et IMAP

Nous avons maintenant un serveur de messagerie fonctionnel et sécurisé.
Nous allons donc passer à la partie suivante, qui consiste à rendre ce serveur de messagerie accessible aux clients POP et IMAP via une authentification SASL.

Comme vous l’avez peut-être remarqué, nous avons déjà installé Dovecot à l’étape précédente pour créer des dossiers Maildir. La seule chose qu’il reste à faire est de finaliser la configuration.

Configuration

  • Ouvrez le fichier de configuration de Dovecot :
    sudo nano /etc/dovecot/dovecot.conf
  • Supprimer le support IPV6 :
    • Remplacer :
      #listen = *, : :
    • Avec :
      listen = *
  • Ouvrez le fichier de configuration du courrier de Dovecot :
    sudo nano /etc/dovecot/conf.d/10-mail.conf
  • Editez le dossier Maildir :
    • Remplacer :
      mail_location = mbox:~/mail:INBOX=/var/mail/%u
    • Avec :
      mail_location = maildir:~/Maildir
  • Ouvrez le fichier de configuration maître de Dovecot :
    sudo nano /etc/dovecot/conf.d/10-master.conf
  • Indiquer à Dovecot d’écouter l’authentification SASL :
    • Commentez toutes les lignes du paragraphe sur l’authentification du service par défaut (ajoutez # avant chaque ligne).
    • Ajoutez ces lignes à la fin du fichier :
      service auth {
      unix_listener /var/spool/postfix/private/auth {
      mode = 0660
      user = postfix
      group = postfix
      }
      }
  • Ouvrez le fichier de configuration de l’authentification de Dovecot :
    sudo nano /etc/dovecot/conf.d/10-auth.conf
  • Autoriser l’authentification en clair.
    • Décommentez et modifiez cette ligne :
      #disable_plaintext_auth = yes
    • Pour devenir celui-ci :
      disable_plaintext_auth = no
  • Modifiez également cette ligne :
    auth_mechanisms = plain login
  • Modifiez le fichier de configuration de Postfix :
    sudo nano /etc/postfix/main.cf
  • Dites à Postfix d’utiliser SASL (ajoutez ces lignes) :
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth
    smtpd_sasl_auth_enable = yes
  • Redémarrez Dovecot et Postfix :
    sudo service postfix restart
    sudo service dovecot restart

Gardez un œil sur les fichiers journaux, et vous pouvez utiliser « sudo service X status » pour vérifier que le service fonctionne correctement. Comme je vous l’ai dit précédemment, une erreur de configuration peut se arriver. Mais nous allons maintenant faire un autre test pour nous assurer que tout est bon.

Tests

Pour vérifier que l’authentification SASL fonctionne bien, nous allons créer un utilisateur de test et essayer de nous connecter au serveur de messagerie avec celui-ci.

Création d’un utilisateur

Créez un nouvel utilisateur avec un login test et le mot de passe que vous voulez :
sudo adduser test

Répondez aux questions relatives au mot de passe (et mémorisez-le). Les autres questions ne sont pas obligatoires (appuyez sur Entrée pour les ignorer).

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Obtenez le mot de passe codé

Nous devons obtenir notre mot de passe dans un format encodé en base64.
Vous pouvez l’obtenir avec cette commande :
printf '\0%s\0%s' '[LOGIN]' '[MDP]' | openssl base64

Remplacez [LOGIN] et [MDP] dans cette commande par ceux que vous avez choisis avec la commande adduser.
Dans mon cas (test/mot de passe), la chaîne affichée est AHRlc3QAcGFzc3dvcmQ=.

Connexion

Nous pouvons maintenant réessayer une connexion avec telnet en spécifiant cette chaîne pour l’identification.
Le seul changement est que nous devons utiliser la commande AUTH PLAIN pour nous connecter :

telnet localhost 25
ehlo rpi.tips
AUTH PLAIN

Vous pouvez arrêter après cela si vous obtenez le message « Authentication successful », ou envoyer un autre email de test comme la première fois si vous avez un doute.
Voici la trace complète :

pi@raspberrypi:~ $ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 domaine.com ESMTP Postfix (Raspbian)
ehlo domaine.com
250-domaine.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN AHRlc3QAcGFzc3dvcmQ=
235 2.7.0 Authentication successful
mail from: 
250 2.1.0 Ok
rcpt to: 
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: test
Test
.
250 2.0.0 Ok: queued as 44EAE1FE54
quit
221 2.0.0 Bye

Activer IMAPS

Dovecot nous permet de nous connecter avec IMAP (telnet localhost 143).
Mais nous devons maintenant activer TLS pour IMAP sur le port 993.

  • Editez le fichier de configuration du maître de Dovecot :
    sudo nano /etc/dovecot/conf.d/10-master.conf
  • Activer le listener sur le port 993 :
    La configuration devrait ressembler à ceci (il y a quelques lignes à décommenter) :
    service imap-login {
    inet_listener imap {
    port = 143
    }
    inet_listener imaps {
    port = 993
    ssl = yes
    }
    }
  • Ensuite, éditez le fichier de configuration SSL :
    sudo nano /etc/dovecot/conf.d/10-ssl.conf
  • Assurez-vous que SSL est activé au début du fichier :
    ssl = yes
  • Les emplacements des certificats doivent également être décommentés :
    ssl_cert = </etc/dovecot/private/dovecot.pem
    ssl_key = </etc/dovecot/private/dovecot.pem
  • Enfin, redémarrez le serveur Dovecot :
    sudo service dovecot restart

Vous pouvez maintenant vérifier que votre serveur IMAPS fonctionne, avec cette commande :
openssl s_client -connect localhost:993

La syntaxe du login est la suivante :
a login [LOGIN] [MDP]

La trace complète devrait ressembler à ceci :

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a login pi mdp
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
b select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 3 EXISTS
* 0 RECENT
* OK [UNSEEN 1] First unseen.
* OK [UIDVALIDITY 1536038369] UIDs valid
* OK [UIDNEXT 4] Predicted next UID
b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
b logout
* BYE Logging out
b OK Logout completed (0.000 + 0.000 secs).
closed

Vous pouvez maintenant vous connecter à votre serveur IMAP depuis n’importe quel client du réseau local.
Si vous voulez accéder à votre serveur depuis n’importe où, n’oubliez pas d’ouvrir les ports nécessaires dans le pare-feu de votre routeur.

Configurer Roundcube pour ajouter un accès webmail

La plupart du travail est fait, mais nous allons pousser un peu plus loin et ajouter un serveur Webmail à notre serveur de messagerie sur Raspberry Pi.
Roundcube est un logiciel de webmail moderne, gratuit et open-source.

Le grand avantage de Roundcube par rapport aux autres webmails est qu’il est disponible directement dans les dépôts de Debian, et donc de Raspberry Pi OS.

Si vous partez de Raspberry Pi OS vierge, vous devrez d’abord installer un serveur MySQL (MariaDB).

Serveur MySQL

Si vous n’en avez pas encore, vous devez installer un serveur MySQL pour stocker la base de données Roundcube :
sudo apt install mariadb-server

Vous devez ensuite suivre les étapes suivantes pour définir un mot de passe root et créer un utilisateur Roundcube :

  • Connectez-vous avec root (nous avons besoin de sudo car seul root peut accéder) :
    sudo mysql -uroot
  • Définissez le mot de passe de la racine :
    use mysql ;
    UPDATE user SET password=PASSWORD('MotDePasse'), plugin='' WHERE User='root' AND Host = 'localhost' ;
    FLUSH PRIVILEGES ;

    N’oubliez pas de remplacer « MotDePasse » par un mot de passe sécurisé.
  • Créez un nouvel utilisateur pour Roundcube :
    CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'MotDePasse' ;
    Remplacez « MotDePasse » par le mot de passe de votre choix.
  • Créez la base de données Roundcube.
    CREATE DATABASE roundcubemail;
  • Donnez tous les privilèges à l’utilisateur Roundcube sur la base de données Roundcube :
    GRANT ALL PRIVILEGES ON roundcubemail.* to 'roundcube'@'localhost' ;
  • Quittez la console MySQL :
    FLUSH PRIVILEGES ;
    quit

Votre serveur de base de données est prêt, passez à l’étape suivante.

Article lié : Comment Installer MySQL sur Raspberry Pi ? (MariaDB)

Roundcube

Pour l’installer, entrez la commande suivante :
sudo apt install roundcube roundcube-plugins

Cela installera aussi automatiquement toutes les autres dépendances (principalement Apache, PHP et le client MySQL).

Là encore, l’assistant d’installation vous posera ces questions sur votre serveur MySQL :

  • Configurer la base de données avec dbconfig-common : oui.
  • Mot de passe de l’application MySQL pour Roundcube : votre mot de passe d’utilisateur Roundcube.
  • Mot de passe administrateur de la base de données : votre mot de passe root MySQL.

Note : J’ai eu une erreur de connexion à cette étape, mais en choisissant « réessayer », j’ai pu modifier tous les paramètres, y compris le nom de la base de données, et c’était OK après cela.

Maintenant, éditez la configuration Apache pour Roundcube afin d’activer l’application web :
sudo nano /etc/apache2/conf-enabled/roundcube.conf

Décommentez la première ligne :
Alias /roundcube /var/lib/roundcube

Puis redémarrez votre serveur web :
sudo service apache2 restart
Et allez à http://[IP-DU-RASPBERRYPI]/roundcube pour voir l’interface web.

Si vous obtenez une erreur, vous pouvez relancer l’assistant d’installation avec cette commande :
sudo dpkg-reconfigure roundcube-core
Il vous donnera également la possibilité de définir un serveur par défaut si vous le préférez.

Vous pouvez maintenant vous connecter avec vos informations d’identification créées à l’étape précédente, ou avec le compte « pi ».
Profitez de votre webmail maintenant, et rappelez-vous qu’il est possible d’ajouter de nombreux plugins sur RoundCube pour étendre ses fonctionnalités.

Fichiers de connexion et de configuration

Nous avons donc vu comment mettre en place un serveur de messagerie complet sur Raspberry Pi.
Si vous avez eu des erreurs, ou si vous voulez aller plus loin, voici le résumé de l’emplacement des fichiers.

Postfix

Dans ce tutoriel, nous utilisons Postfix pour envoyer et recevoir des e-mails, c’est le cœur du serveur de messagerie.

Configuration

  • /etc/postfix/main.cf : Configuration principale pour Postfix.
  • /etc/postfix/master.cf : Configuration des processus de Postfix.

Fichiers de logs

  • / var/log/mail.log : Ici vous pouvez voir toutes les logs des emails, et les erreurs s’il y en a.

Dovecot

Nous avons installé Dovecot pour gérer les connexions IMAP avec une couche de sécurité SASL.

Configuration

  • /etc/dovecot/dovecot.conf : La configuration principale de Dovecot.
  • /etc/dovecot/conf.d/ : Ce sous-dossier contient plusieurs fichiers avec chaque partie de la configuration pour savoir facilement où se trouve l’option que vous recherchez.

Fichiers de logs

  • /var/log/syslog : Dovecot n’a pas de fichier de log spécifique, il utilise le fichier syslog principal.

Apache

Apache est utilisé dans ce tutoriel pour faire tourner Roundcube.
Normalement, vous ne devriez pas avoir besoin de changer quelque chose, à moins que Roundcube ne soit pas du tout accessible.

Configuration

  • /etc/apache2/apache2.conf : Le fichier de configuration principal pour apache2.
  • /etc/apache2/conf-enabled/ : Vous trouverez ici la configuration de certains services Apache (comme Roundcube.conf).
  • /etc/apache2/sites-enabled/ : Vous trouverez ici la configuration pour tout site web géré par Apache.

Fichiers de logs

  • /var/log/apache/error.log : Si vous obtenez des erreurs avec Apache, vous pouvez les trouver ici.

En savoir plus : Comment Installer un Serveur Web sur Raspberry Pi ?

Rondcube

Et enfin, nous avons installé Roundcube pour ajouter le webmail à notre serveur de messagerie.

Configuration

  • /etc/roundcube/config.inc.php : Voici le fichier de configuration principal pour Roundcube.

Fichiers de logs

  • /var/log/roundcube/errors : Si vous rencontrez un problème avec Roundcube, vous trouverez les erreurs dans ce fichier.
Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous comprenez l'anglais et en voulez encore plus ? Je publie une nouvelle leçon chaque mois, réservée à mes abonnés premium. Rejoignez la communauté dès maintenant pour y avoir accès !

Conclusion

Et nous voici à la fin de ce tutoriel.
Vous avez appris à configurer un serveur de messagerie complet avec :

  • Postfix pour le transport.
  • Dovecot pour l’authentification sécurisée.
  • Roundcube pour un accès web à vos emails.

Comme vous l’avez peut-être remarqué, ce n’est pas une chose simple à mettre en place. Il y a beaucoup d’options de configuration et cela peut représenter beaucoup de travail de mettre cela en place à la maison.

Je pense que dans la plupart des cas, c’est la première partie avec Postfix qui va vous intéresser.
Vous allez pouvoir envoyer des e-mails à partir de vos différents projets, mais pas nécessairement pour mettre en place toutes les autres étapes.

En tout cas, si vous avez vraiment besoin de tout installer, vous savez comment faire.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

2 commentaires

  1. Bonjour, et merci pour ce tuto très bien détaillé. Malheureusement je ne suis pas très féru en informatique et j’ai un mauvais résultat du serveur Postfix:
    « Trying ::1…
    Connection failed: Connexion refusée
    Trying 127.0.0.1…
    Connected to localhost.
    Escape character is ‘^]’.
    220 ********.com ESMTP Postfix (Debian/GNU)
    ehlo mail from: ******@********.com rcpt to: data subject: test Test . quit
    250-moulins58.com
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY
    250-ETRN
    250-STARTTLS
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250-DSN
    250-SMTPUTF8
    250 CHUNKING
    421 4.4.2 *******.com Error: timeout exceeded
    Connection closed by foreign host.

    Ou ai-je fais l’erreur? Merci si vous pouviez me donner la solution.

    1. Bonjour,

      À première vue, je dirais que les commandes ont été tapées sur la même ligne, alors qu’il faut utiliser la touche « Entrée » après chaque commande :

      ehlo domaine.com
      mail from: xxx
      rcpt to: yyy

      etc.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *