Une version précédente de ce tutoriel a été écrite par Justin Ellingwood
Introduction
Postfix est un agent de transfert de courrier open-source populaire (MTA) qui peut être utilisé pour router et livrer des e-mails sur un système Linux. On estime Qu’environ 25% des serveurs de messagerie publics sur internet exécutent Postfix.
dans ce guide, vous apprendrez comment installer et configurer Postfix sur un serveur Ubuntu 20.04., Ensuite, vous testerez que Postfix est capable d’acheminer correctement le courrier en installant s-nail
, un agent utilisateur de messagerie (MUA), également connu sous le nom de client de messagerie.
notez que le but de ce tutoriel est de vous aider à mettre Postfix en service rapidement avec seulement quelques fonctionnalités de messagerie simples. Vous n’aurez pas de serveur de messagerie complet à la fin de ce guide, mais vous aurez certains des composants fondamentaux d’une telle configuration pour vous aider à démarrer.
Prérequis
afin de suivre ce guide, vous aurez besoin des éléments suivants:
- Un serveur sous Ubuntu 20.,04 pour fonctionner comme votre serveur de messagerie Postfix. Ce serveur doit avoir un utilisateur non root avec des privilèges
sudo
et un pare-feu configuré avec UFW. Vous pouvez suivre notre guide de configuration initiale du serveur Ubuntu 20.04 pour configurer cela. - Un nom de domaine complet pointé vers votre serveur Ubuntu 20.04. Vous pouvez trouver de l’aide sur la configuration de votre nom de domaine avec DigitalOcean en suivant notre documentation domaines et réseau DNS. Sachez que si vous prévoyez d’accéder au courrier à partir d’un emplacement externe, vous devrez également vous assurer d’avoir un enregistrement MX pointant vers votre serveur de messagerie.,
notez que ce tutoriel suppose que vous configurez un hôte qui a le nom de domaine complet demail.example.com
. Si nécessaire, assurez-vous de changer example.com
ou mail.example.com
pour refléter votre propre nom de domaine complet.
Étape 1 — Installation de Postfix
Postfix est inclus dans les dépôts par défaut D’Ubuntu, vous pouvez donc l’installer avec APT.
Pour commencer, mettez à jour votre local apt
le cache des paquets:
- sudo apt update
Puis installer la balise postfix
le paquet avec la commande suivante., Notez qu’ici, nous passons la variable d’environnementDEBIAN_PRIORITY=low
dans cette commande d’installation. Le processus d’installation vous demandera alors de configurer des options supplémentaires:
- sudo DEBIAN_PRIORITY=low apt install postfix
Ce processus d’installation ouvrira une série d’invites interactives. Pour les besoins de ce tutoriel, utilisez les informations suivantes pour remplir vos invites:
- configuration générale du type de courrier?: Pour cela, choisissez Site Internet car cela correspond à nos besoins d’infrastructure.,
- nom de messagerie Système: c’est le domaine de base utilisé pour construire une adresse e-mail valide lorsque seule la partie compte de l’adresse est donnée. Par exemple, disons que le nom d’hôte de votre serveur est
mail.example.com
. Vous voudrez probablement définir le nom de la messagerie système surexample.com
de sorte que, compte tenu du nom d’utilisateuruser1
, Postfix utilisera l’adresse.
- destinataire du courrier racine et postmaster: il s’agit du compte Linux qui sera transféré le courrier adressé à
root@
Etpostmaster@
., Utilisez votre compte principal pour cela. Dans cet exemple, sammy. - autres destinations pour lesquelles accepter le courrier: définit les destinations de courrier que cette instance Postfix acceptera. Si vous devez ajouter d’autres domaines que ce serveur sera responsable de recevoir, ajoutez-les ici. Sinon, la valeur par défaut sera suffisante.
- forcer les mises à jour synchrones sur la file d’attente de courrier?: Puisque vous utilisez probablement un système de fichiers journalisé,acceptez No ici.
- réseaux locaux: il s’agit d’une liste des réseaux pour lesquels votre serveur de messagerie est configuré pour relayer les messages., La valeur par défaut fonctionnera pour la plupart des scénarios. Si vous choisissez de le modifier, cependant, assurez-vous d’être très restrictif en ce qui concerne la plage de réseau.
- limite de taille de Boîte aux lettres: ceci peut être utilisé pour limiter la taille des messages. Le définir sur
0
désactive toute restriction de taille. - caractère d’extension D’adresse locale: c’est le caractère qui peut être utilisé pour séparer la partie régulière de l’adresse d’une extension (utilisé pour créer des alias dynamiques). La valeur par défaut,
+
fonctionnera pour ce tutoriel., - protocoles Internet à utiliser: Choisissez de restreindre la version IP prise en charge par Postfix. Pour les besoins de ce tutoriel, choisissez tous.
pour être explicite, voici les paramètres utilisés dans ce guide:
Remarque: Si vous devez revenir pour modifier ces paramètres, vous pouvez le faire en tapant:
- sudo dpkg-reconfigure postfix
les invites seront pré-remplies avec vos réponses précédentes.
lorsque le processus d’installation se termine, vous êtes prêt à faire quelques mises à jour de votre configuration Postfix.,
Étape 2 — Modification de la Configuration de Postfix
Vous pouvez maintenant ajuster certains paramètres que le processus d’installation du package ne vous a pas demandés. De nombreux paramètres de configuration de Postfix sont définis dans le fichier /etc/postfix/main.cf
. Plutôt que de modifier ce fichier directement, Vous pouvez utiliser la commande postconf
de Postfix pour interroger ou définir les paramètres de configuration.
pour commencer, définissez l’emplacement de la boîte aux lettres de votre utilisateur Ubuntu non root., Dans ce guide, nous utiliserons le format Maildir, qui sépare les messages en fichiers individuels qui sont ensuite déplacés entre les répertoires en fonction de l’action de l’utilisateur. L’option alternative qui n’est pas couverte dans ce guide est le format mbox, qui stocke tous les messages dans un seul fichier.
Définir la balise home_mailbox
variable Maildir/
. Plus tard, vous créerez une structure de répertoire sous ce nom dans le répertoire personnel de votre utilisateur., Configurer home_mailbox
en tapant:
- sudo postconf -e 'home_mailbox= Maildir/'
Ensuite, définissez l’emplacement de la balise virtual_alias_maps
table, les cartes arbitraire comptes e-mail Linux, système de comptes. Exécutez la commande suivante, qui mappe l’emplacement de la table à un fichier de base de données de hachage nommé /etc/postfix/virtual
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
maintenant que vous avez défini l’emplacement du fichier de cartes virtuelles dans votre fichier main.cf
, vous pouvez créer le fichier système., Créez le fichier avec votre éditeur de texte préféré; dans cet exemple, nous utiliserons nano
:
- sudo nano /etc/postfix/virtual
répertoriez toutes les adresses pour lesquelles vous souhaitez accepter un e-mail, suivies d’un espace et de l’utilisateur Linux auquel vous souhaitez que ce courrier soit envoyé.,
Par exemple, si vous voulez accepter un mail à et
et j’aimerais avoir ces e-mails livrés à la sammy utilisateur de Linux, vous pouvez configurer votre fichier comme ceci:
[email protected] [email protected] sammy
une fois que vous avez mappé toutes les adresses pour le serveur approprié comptes, enregistrez et fermez le fichier. Si vous avez utilisé nano
, faites cela en appuyant sur la touche CTRL + X
, Y
, puis ENTER
.,
appliquez le mappage en tapant:
- sudo postmap /etc/postfix/virtual
redémarrez le processus Postfix pour être sûr que toutes vos modifications ont été appliquées:
- sudo systemctl restart postfix
En supposant que vous avez suivi le guide de configuration du serveur initial préalable, vous aurez configuré un pare-feu avec UFW. Ce pare-feu bloquera par défaut les connexions externes aux services sur votre serveur, sauf si ces connexions sont explicitement autorisées, vous devrez donc ajouter une règle de pare-feu pour autoriser une exception pour Postfix.,
vous pouvez Vous permettre les connexions au service en tapant:
- sudo ufw allow Postfix
Avec ça, Postfix est configuré et prêt à accepter les connexions externes. Cependant, vous n’êtes pas encore prêt à le tester avec un client de messagerie. Avant de pouvoir installer un client et l’utiliser pour interagir avec le courrier envoyé à votre serveur, vous devrez apporter quelques modifications à la configuration de votre serveur Ubuntu.,
Étape 3 — Installation du client de messagerie et initialisation de la Structure Maildir
afin d’interagir avec le courrier en cours de livraison, Cette étape vous guidera à travers le processus d’installation du packages-nail
. Il s’agit d’une variante riche en fonctionnalités du client BSD xmail
qui peut gérer correctement le format Maildir.
avant d’installer le client, cependant, il serait prudent de s’assurer que votre variable d’environnementMAIL
est correctement définie., s-nail
recherchera cette variable pour savoir où trouver le courrier pour votre utilisateur.
Pour vous assurer que la balise MAIL
variable est définie indépendamment de la façon dont vous accédez à votre compte — par ssh
, su
, su -
ou sudo
, par exemple, vous devez définir la variable dans le /etc/bash.bashrc
fichier et l’ajouter à un fichier dans /etc/profile.d
pour être sûr qu’elle est définie pour tous les utilisateurs par défaut.,
pour ajouter la variable à ces fichiers, tapez:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
pour lire la variable dans votre session actuelle, source du fichier /etc/profile.d/mail.sh
:
- source /etc/profile.d/mail.sh
avec cela, installez le s-nail
client de messagerie avec apt:
- sudo apt install s-nail
avant d’exécuter le client, il y a quelques paramètres que vous devez ajuster. Ouvrez le /etc/s-nail.rc
le fichier dans votre éditeur de texte:
- sudo nano /etc/s-nail.rc
À la fin du fichier, ajoutez les options suivantes:
. . .set emptystartset folder=Maildirset record=+sent
Voici ce que ces lignes:
-
set emptystart
: permet au client d’ouvrir même avec une boîte de réception vide -
set folder=Maildir
: définit la baliseMaildir
répertoire à l’intérieur de la balisefolder
variable -
set record=+sent
crée unsent
fichier mbox pour stocker les messages envoyés dans quel répertoire est défini comme lefolder
variable, dans ce cas,Maildir
Enregistrez et fermez le fichier lorsque vous avez terminé., Vous êtes maintenant prêt à initialiser la structure Maildir de votre système.
un moyen rapide de créer la structure Maildir dans votre répertoire personnel est de vous envoyer un e-mail avec la commandes-nail
. Étant donné que le fichiersent
ne sera disponible qu’une fois le Maildir créé, vous devez désactiver l’écriture pour cet e-mail initial. Pour ce faire, passez l’option-Snorecord
.
envoyez l’e-mail en envoyant une chaîne à la commandes-nail
., Ajustez la commande pour marquer votre Utilisateur Linux comme destinataire:
- echo 'init' | s-nail -s 'init' -Snorecord sammy
Remarque: Vous pouvez obtenir la réponse suivante:
OutputCan't canonicalize "/home/sammy/Maildir"
ceci est normal et ne peut apparaître que lors de l’envoi de ce premier message.,
Vous pouvez vérifier que le répertoire a été créé en recherchant votre ~/Maildir
répertoire:
- ls -R ~/Maildir
vous verrez que la structure du répertoire a été créée et qu’un nouveau fichier de message se trouve dans le ~/Maildir/new
> maintenant que la structure de répertoire a été créée, vous êtes prêt à tester le clients-nail
en affichant le message init
que vous avez envoyé et en envoyant un message à une adresse e-mail externe.,
Étape 4 — Test Du Client
pour ouvrir le client, exécutez la commande s-nail
:
- s-nail
dans votre console, vous verrez une boîte de réception rudimentaire avec le message init
en attente:
appuyez sur ENTER
pour afficher le message:
Vous pouvez revenir à la liste des messages en tapant h
, puis ENTER
:
- h
Output>R 1 [email protected] 2020-05-19 15:40 14/392 init
notez que le message a maintenant un État R
, indiquant qu’il a été lu.,
étant donné que ce message n’est pas très utile, vous pouvez le supprimer en appuyant sur la touche d
, puis ENTER
:
- d
pour en revenir À la terminale, type q
et ENTER
:
- q
Comme un dernier test, vérifiez si s-nail
est capable d’envoyer des messages électroniques. Pour ce faire, vous pouvez transférer le contenu d’un fichier texte dans le s-nail
processus, comme vous l’avez fait avec la balise init
message envoyé dans l’étape précédente.,
Commence par l’écriture d’un message de test dans un éditeur de texte:
- nano ~/test_message
à l’Intérieur, entrez le texte que vous souhaitez envoyer:
Hello,This is a test. Please confirm receipt!
Enregistrez et fermez le fichier après la rédaction de votre message.
ensuite, utilisez la commandecat
pour acheminer le message vers le processuss-nail
., Vous pouvez le faire avec l’exemple suivant, qui utilise ces options:
-
-s
: définit la ligne d’objet du message e-mail -
-r
: Une option de modifier le champ « from:” de l’e-mail. Par défaut, L’utilisateur Linux auquel vous êtes connecté sera utilisé pour remplir ce champ. L’option-r
vous permet de remplacer cela par une adresse valide, telle que l’une de celles que vous avez définies dans le fichier/etc/postfix/virtual
., Pour illustrer, la commande suivante utilise
veillez également à remplacer par une adresse e-mail valide à laquelle vous avez accès:
- cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
ensuite, accédez à la boîte de réception de l’adresse e-mail à laquelle. Vous verrez votre message y attendre presque immédiatement.
Remarque: Si le message n’est pas dans votre boîte de réception, il peut avoir été envoyé dans votre dossier Spam.
Vous pouvez afficher vos messages envoyés dans votre s-nail
le client., Redémarrez le client interactif:
- s-nail
à partir du client de messagerie, affichez vos messages envoyés en tapant:
- file +sent
vous verrez une sortie comme ceci:
Output+sent: 1 message 1 new▸N 1 [email protected] 2020-05-19 15:47 12/297 Test email subject line
Vous pouvez gérer le courrier envoyé en utilisant les mêmes commandes que
Conclusion
Vous avez maintenant configuré Postfix sur votre serveur Ubuntu 20.04. La gestion des serveurs de messagerie peut être une tâche difficile pour les nouveaux administrateurs système, mais avec cette configuration, vous devriez avoir suffisamment de fonctionnalités de messagerie MTA pour vous lancer.