Space Menu Home Downloads Newbie Area Documentation Knowledge Base E-Training Forum Blogs Chat RPMs Farm Linux Events
HistoryHistory |
View
Code | XML |
Help
XWiki Syntax |



Le mail local

Index de la section - Index de la Base de Connaissances

Comment fonctionne le mail à la sauce Unix/Linux ?

Sous Linux et Unix, chaque utilisateur dispose d'une boîte de mail locale : c'est un simple fichier dans /var/spool/mail/. Les utilisateurs d'une même machine peuvent s'échanger des courriers entre eux ou avec l'extérieur ainsi que recevoir des mails directement sur la machine.

Il est important de noter que même si vous êtes l'unique utilisateur de votre machine, il peut être intéressant d'ouvrir un compte de courrier local dans la mesure où certains services du système (tels que at et batch, crond, anacron et MSEC) "écrivent" à 'root' ou aux utilisateurs : il peut vous être utile de prendre connaissance de ces messages.

Le logiciel qui s'occupe de la distribution, de l'émission et de la réception du mail est Postfix, sous Mandriva Linux.

Je ne parlerai ici que de l'échange de courrier local, autrement dit entre plusieurs comptes installés sur la même machine. Pour une ouverture sur l'extérieur, voir la page sur la configuration de Postfix pour l'accès à Internet.

Que faut-il configurer ?

Le mail local est configuré correctement par défaut (si Postfix a été installé, bien sûr) à une exception près : les mails de root. En fait, root ne doit pas recevoir de mail : ses mails doivent être redirigés vers la boîte de mail du compte de simple utilisateur de l'administrateur réel de la machine. Ceci parce que les mails qu'il reçoit sont généralement importants et parfois urgents (beaucoup d'applications s'attendent à ce que les messages pour root soient lus régulièrement), alors que l'administrateur d'un système peut très bien ne pas se connecter en tant que root pendant une longue période pendant laquelle il se connectera au contraire peut-être quotidiennement en tant que simple utilisateur.

Configurer la boîte de mail de root

Éditer le fichier /etc/postfix/aliases. On y voit cette section :

# CHANGE THIS LINE to an account of a HUMAN
root:           postfix
Indiquer le nom des utilisateurs qui doivent recevoir les mails à destination de root (le rapport de sécurité MSEC, par exemple) séparés par des virgules. Indiquer ceci à la place de "postfix". On obtient alors une section de ce style :
# CHANGE THIS LINE to an account of a HUMAN
root:           administrator,yoho,tonton

Paramétrer son nom d'hôte

Postfix est assez têtu et veut absolument savoir à quel domaine vous appartenez pour envoyer et recevoir des mails. Il ne fonctionnera pas sinon. Un domaine sert à vous identifier dans les grands réseaux, mais vous n'en avez pas besoin pour le mail local. Nous allons donc donner à Postfix un faux nom de domaine qui lui conviendra très bien : "domainelocal".

Si vous n'avez pas déjà donné un nom d'hôte à votre machine (dans les quelques "réglages Internet" de drakconf) alors, vous avez le nom par défaut qui est "localhost". Sinon, vous lui avez donné un nom de votre choix. Appelons ce nom d'hôte "ma_machine".

Éditez le fichier /etc/postfix/main.cf de façon à ce qu'il contienne ces trois lignes (laisser toutes les autres lignes en place) :

myhostname = ma_machine.domainelocal
mynetworks_style = host
inet_interfaces = localhost
  • La première ligne indique à Postfix votre nom de machine "pleinement qualifié" (FQDN) qui est la concaténation de votre nom de machine, d'un point et de votre (faux) domaine
  • la deuxième ligne indique à Postfix qu'il ne gère le mail que concernant cet hôte et que cela ne sert à rien d'envoyer du mail ailleurs
  • la troisième ligne restreint Postfix à l'interface "localhost" : il ne pourra pas envoyer ni recevoir de mail sur l'internet (procure une protection supplémentaire de votre PC, en plus).

Vérifier que les changements dans Postfix sont bien pris en compte

Ouvrir deux terminaux en tant que root :

Dans le premier, taper

tail -f /var/log/syslog | grep postfix
Ne vous inquiétez pas si vous ne voyez rien pour l'instant.

Dans le second, taper

service postfix restart
mail root
puis taper "test" en sujet, ENTREE et enfin Ctrl+D.

Des informations ont défilé dans l'autre terminal : contrôler que tout a l'air correct au moment du redémarrage de Postfix. Contrôler aussi que le mail a bien été redirigé correctement (l'adresse de l'utilisateur final apparaît).

Utilisation du mail local en console

Comme nous l'avons entrevu à la section précédente pour créer et envoyer un message au destinataire 'toto', utilisateur du même système vous devez taper la commande :

mail toto
Une ligne commençant par 'Subject :' apparait vous pouvez y taper alors le contenu du 'sujet' du mail puis faire ENTREE. Ensuite vous tapez directement le contenu du message et quand vous avez fini vous tapez ou bien <Ctrl d> ou, ce qui est plus rapide, vous passez à la ligne par ENTREE et vous tapez un unique point suivi immédiatement par ENTREE : le message est alors envoyé (le point ne fera pas partie du texte du message).

Pour voir la liste des messages disponibles dans votre boîte vous pouvez taper :

mail
vous obtenez alors une liste de messages numérotés et une nouvelle invite en forme de point d'interrogation. Pour lire un des messages affichés faites :
? t numero_du_message
pour quitter faites :
? q
pour répondre à un message faites :
? reply numero_de_message
et enfin pour écrire à un utilisateur sans sortir du programme vous ferez :
? mail
To : adresse_du_destinataire
Attention à un petit piège !
Lorsque vous consultez le mail local à partir d'une console graphique (Konsole, rXVT...) après avoir changé d'identité (que la consultation se fasse via la commande 'mail' ou en invoquant un courielleur (KMail, Thunderbird...)) : veillez bien à changer d'identité en utilisant
su -
et pas simplement
su
car dans ce dernier cas la variable MAIL (qui contient le chemin de votre boîte à lettres) conserverait la valeur appropriée pour l'utilisateur initial et vous ne pourriez pas consulter le courrier correspondant à la nouvelle identité.

Configurer KMail pour lire les mails locaux

kmail_config.png

Sous KMail, il suffit de créer un nouveau compte de type "local". Vous pouvez choisir "FCNTL" ou "Aucun" comme mode de verrouillage (si vous ne comptez recevoir des mails locaux que très épisodiquement, "Aucun" ne pose pas de problème). Vous pouvez aussi utiliser un fichier de verrouillage (première option) mais vous devez utiliser MSEC pour changer les droits sur /var/spool/mail de façon à ce que tout le monde puisse écrire (et c'est un peu dangereux au niveau de la sécurité...).

Vous pouvez aussi créer un dossier de destination différent de la boîte de réception, par exemple "Mails locaux" et indiquer dans la configuration du compte que vos mails locaux arriveront dans ce dossier.

Vérifiez que vous avez bien reçu le mail "test" rédigé ci-dessus.

Configurer Thunderbird pour lire et envoyer des mails locaux

Sous Thunderbird, vous devez d'abord rajouter votre utilisateur dans le groupe "mail" car Thunderbird dispose de moins de modes de verrouillage que Kmail. Cela a une conséquence sur la sécurité du système : votre utilisateur a en principe le droit de consulter, modifier, rajouter et supprimer n'importe quel message local, même s'il n'est pas destiné à votre utilisateur (donc à ne surtout pas faire sur une machine dédiée à être un serveur de mail ou un serveur groupware, par exemple) : pour éviter des problèmes, veillez donc bien à ce que les fichiers de boîte à lettres des utilisateurs dans '/var/spool/mail' (fichiers dont le nom est identique à l'identifiant de connexion de l'utilisateur) possèdent uniquement des droits de lecture et écriture pour leur propriétaire (-rw-------). Vous pouvez pour cela créer dans 'drakperm' une règle de permission personnalisée pour '/var/spool/mail/*'.

Une fois votre utilisateur rajouté dans ce groupe, déconnectez votre session (pas besoin de redémarrer complètement) et reconnectez-vous. Créez ensuite un compte de type "Movemail". Dans la page "Paramètres serveur", ni le paramètre "nom du serveur", ni le paramètre "nom d'utilisateur" ne sont utilisés, vous pouvez donc mettre ce que vous voulez. Pour rester cohérent, j'ai mis "localhost" et mon nom d'utilisateur.

thunderbird_config.png

Cliquez ensuite sur "relever" et vérifiez que vous avez bien reçu le mail "test" rédigé ci-dessus.

Pour envoyer des messages vous devez créer un smtp 'localhost' : sélectionnez le nom de votre compte de mail local, cliquez sur 'Paramètres du compte', tout en bas à gauche sélectionnez 'Serveur sortant (SMTP)' puis en haut à droite 'Ajouter...'. Dans la fenêtre qui s'ouvre alors tapez 'localhost' dans 'Nom du serveur'. Revenez à la fenêtre 'Paramètres du compte' et dans la liste déroulante 'Nom du server' sélectionnez 'localhost'.

Si vous avez des tâches crond d'une pédiodicité rapprochée qui provoquent un affichage qui vous sera en fait envoyé sous forme de mail par crond, vous risquez d'être vite très encombré. Souvenez-vous alors que Thunderbird vous permet de créer des sous-dossiers spécialisés pour certains types de messages dans le compte de mail local. Vous pouvez par exemple en créer un pour les tâches crond et créer un filtre de message qui ventile directement les messages crond dans ce sous-dossier. Seuls resteront alors dans la boîte de réception les autres messages, moins nombreux, que vous pouvez du reste aussi, si vous le souhaitez, ventiler dans divers dossiers, à votre gré. Pour tout cela voir cette documentation de Geckozone.


Page suivante : Configuration du mail Postfix vers l'extérieur
Révision par ptyxs (janvier 2006)

RSS
KB.AdminIndex > KB.AdminMailLocal fr Last Author: MECA José  Date: 2006/03/31 14:50
Powered by XWiki
Copyright (c) 2006 Mandriva