web-dev-qa-db-fra.com

Quel est le message "Vous avez un nouveau courrier" dans Linux/UNIX?

Parfois, lorsque je me connecte à une boîte et que je «su» à la racine, je reçois un mignon petit message disant que j'ai un courrier (merci à Dieu, ce n'est pas AOL).

  • Où est ce courrier?
  • Que contient-il?
  • Qui/Qu'est-ce qui l'a envoyé?
  • Quelle est son importance?

Est-ce même un "courrier" dans le même sens que le courrier électronique? Ou est-ce juste mon système qui me dit quelque chose?

EDIT: En ce qui concerne cette question, serais-je capable de m'envoyer un mail en utilisant le programme sendmail comme suit: email@localhost?

405
n0pe

Où est ce courrier?

Il est probable qu'il se trouve dans le fichier de spool: /var/mail/$USER ou /var/spool/mail/$USER sont les emplacements les plus courants sous Linux et BSD.

(D'autres emplacements sont possibles - vérifiez si $MAIL est défini - mais par défaut, le système ne vous informe que sur /var(/spool)/mail.)

Habituellement, le fichier spool est dans un format très simple mbox , vous pouvez donc l’ouvrir dans un éditeur de texte ou un pager.

Pour un moyen légèrement plus pratique, la plupart des distributions sont fournies avec un programme appelé mail (ou Mail, mailx). Vous pouvez essayer mutt ou Alpine; vous pouvez même le configurer pour qu'il soit envoyé à une boîte aux lettres externe. (Voir "Est-ce que ce vrai courrier?" Ci-dessous.)

Que contient-il et qui/quoi l'a-t-il envoyé?

Le plus souvent, les messages contiennent des travaux cron ou un rapport de sécurité système de logwatch , ou un courrier indésirable similaire. Lisez-le et découvrez.

Quelle est son importance?

Cela dépend grandement du contenu de chaque message.

Vous devriez au moins scanner les en-têtes de sujet - souvent, les gens ignorent le courrier pendant des mois sans se rendre compte que leurs tâches quotidiennes échouent.

Est-ce même un "courrier" dans le même sens que le courrier électronique? Ou est-ce juste mon système qui me dit quelque chose?

Oui pour les deux. Il est généré par votre système qui vous dit quelque chose, mais il s’agit également d’un courrier électronique réel et peut être traité comme tel.

Vous pouvez (et devriez) configurer votre logiciel de messagerie - le "MTA", également appelé /usr/sbin/sendmail - pour transférer les messages vers votre adresse de messagerie personnelle. Les instructions exactes varient en fonction du MTA (le cas échéant) que vous avez installé, qu'il s'agisse d'un ordinateur personnel ou d'un serveur, que vous possédiez votre propre domaine ou utilisiez un @ gmail.com , etc.

Notez que /usr/sbin/sendmail est de nos jours une API partagée et ne signifie pas signifie nécessairement le MTA Sendmail d'origine. En fait, vous ne devriez pas / utilisez Sendmail, mais quelque chose de plus moderne comme OpenSMTPD, Postfix ou Exim4. Tous fournissent le même outil /usr/sbin/sendmail, mais ils sont plus faciles à configurer, plus sécurisés et tout aussi puissants.

343
grawity

Le moyen le plus simple pour moi était d'exécuter ce qui suit dans un terminal:

cat /var/spool/mail/root
196
Maclovin

Pour ceux qui se demandent comment lire ces messages un à un, vous pouvez simplement utiliser "mail"

$ mail

Puis tapez un numéro de message dans la liste que vous souhaitez lire.

Pour aller au message suivant, vous pouvez taper 'next', une autre commande utile est 'delete' ..

Pour en savoir plus sur le fonctionnement du programme mail, voir la sortie de man mail.

48
Dominic Williams

Juste pour clarifier quelque chose, il est de tradition que les boîtes UNIX exécutent un démon de messagerie "configuré localement" qui ne permet pas d'acheminer les messages via Internet, mais ne les copie que dans des répertoires spool d'autres utilisateurs (comme @John T mentionné). Il s’agit d’un véritable courrier électronique compatible SMTP, il n’est tout simplement pas acheminé par Internet car il n’est pas nécessaire de l’être.

Ainsi, si vous lancez un client de messagerie (tel que Alpine ou mutt), vous pouvez envoyer un courrier électronique à d'autres utilisateurs du système en s'adressant à user@hostname ou, dans de nombreux cas, en spécifiant simplement l'utilisateur. Vous disposez également probablement d'un utilitaire de ligne de commande appelé mailx qui peut être utilisé pour envoyer un courrier électronique rapide à l'aide de votre shell.

Désormais, si vous souhaitez envoyer des messages à des utilisateurs sur des systèmes autres que celui auquel vous êtes connecté, le vrai plaisir commence. Vous devrez configurer votre démon de messagerie pour reconnaître et transmettre le courrier électronique externe à un agent de transfert, pour configurer l'agent de transfert et pour effectuer toute une série de tâches que je ne comprends pas encore.

38
LawrenceC

Où est ce courrier?

Très probablement stocké sur votre machine, dans le dossier de boîte aux lettres de votre utilisateur root (où CELA dépend du type de serveur de messagerie que vous avez installé). Vous pouvez probablement y accéder assez rapidement via Alpine .

Que contient-il?

Probablement juste quelques trucs de type rapport système. "Untel a essayé de se connecter 10 fois avec un mot de passe incorrect" .. "Je souhaite que quelqu'un exécute des mises à jour sur moi", "le pilote échoue constamment", "Le bot NSA a amélioration de la performance de 1% ".. etc ..

Qui/Qu'est-ce qui l'a envoyé?

Services sur votre serveur, le plus probable.

Quelle est son importance?

Cela dépend de l’importance de votre serveur.

23
James T Snell

Ce courrier est généralement situé dans /var/spool/mail/root lorsque le démon sendmail par défaut (habituel) est configuré. Il contient un message électronique RAW pouvant être lu par l'utilitaire mail. Vous pouvez trouver qui l'a envoyé en exécutant l'utilitaire mail et en parcourant les messages ou en lisant les en-têtes RAW.

L'importance du message dépend généralement du facteur précédent, qui l'a envoyé :)

De nombreux utilitaires système utiliseront le sous-système de messagerie comme moyen de génération de rapports et de journalisation. Les utilitaires d’observation des journaux et d’autres services peuvent envoyer un courrier électronique à l’utilisateur root local pour lui rappeler un événement spécifique, tel qu’un faible espace disque ou des erreurs matérielles. Le démon mailer vous alertera également s'il n'a pas réussi à envoyer un courrier électronique sortant.

13
John T

less +G /var/spool/mail/root

montre les derniers mails, à la fin si le fichier.

Afficher directement le fichier courrier est une bonne idée, mais utiliser cat peut facilement se tromper. Vous ne voulez pas faire défiler all mails, s'il y a beaucoup de messages ou de très longs messages dans le fichier. Je viens d'en voir une de 150 Mo, deux millions de lignes.

Si vous n'êtes pas root:

Sudo less +G /var/spool/mail/root

L'option +G est utilisée pour afficher le message le plus récent en premier. Ce n'est pas en haut du fichier, mais à la fin.

C'est une option de less, ce qui permet d'afficher la dernière page du fichier après son démarrage. Cela montre le dernier message (le plus récent), s'il correspond à une page, ou la fin de celui-ci sinon.

Le nom du fichier peut être /var/spool/mail/mail au lieu de /var/spool/mail/root

11
Volker Siegel