Question Qu'est-ce que le message "Vous avez un nouveau message" sous Linux / UNIX?


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

  • Où est ce mail?
  • Que contient-il?
  • Qui / Qu'est-ce qui l'a envoyé?
  • Est-ce important?

Est-ce même "mail" même dans le même sens que l'email? Ou est-ce juste mon système qui me dit quelque chose?

MODIFIER: En relation avec ce question, serais-je capable de m'envoyer du courrier en utilisant le programme sendmail comme ceci: email@localhost?


370
2017-07-04 15:23


origine


J'ai ici un message qui dit "Ce texte fait partie du format interne de votre dossier de messagerie, ..." donc bien sûr, chaque fois que je me connecte, je suis informé que j'ai du courrier. - GEdgar
@GEdgar: Cela signifie généralement que vous devez cesser d'utiliser mbox boîtes aux lettres et migrer vers Maildir :) - grawity
En relation: superuser.com/questions/149282/ - dmckee
Comment transférer le courrier: unix.stackexchange.com/questions/26666/... - Melebius
Dans le cas où quelqu'un regarde, voici un one-liner de powerhshell pour diviser cela en fichiers uniques lisibles par Outlook: $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)} - JDuarteDJ


Réponses:


Où est ce mail?

Il est probable que ce soit dans le fichier spool: /var/mail/$USER ou /var/spool/mail/$USER sont les emplacements les plus communs sur Linux et BSD.

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

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

Pour un peu plus pratique, la plupart des distributions sont livrées avec un programme appelé mail (ou Mail, mailx). Tu peux essayer mutt ou alpine; vous pouvez même le configurer pour qu'il soit envoyé vers une boîte aux lettres externe. (Voir "est ce vrai mail?" Ci-dessous.)

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

Le plus souvent, les messages contiennent des tâches cron, ou un rapport de sécurité du système par logwatch, ou une ordure similaire. Lisez-le et découvrez.

Est-ce important?

Dépend beaucoup du contenu de chaque message.

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

Est-ce même "mail" même dans le même sens que l'email? Ou est-ce juste mon système qui me dit quelque chose?

Oui, à la fois - il est généré par votre système et vous indique 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" aka /usr/sbin/sendmail - pour transférer les messages à votre adresse mail 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 ayez votre propre domaine ou que vous utilisiez un @ gmail.com, etc.

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


307
2017-07-04 16:30



Bonne réponse. Si vous aviez ajouté des liens avec des informations sur la façon de configurer OpenSMTPD, Postfix ou Exim4 pour transférer les messages vers votre adresse e-mail normale, cela aurait été encore mieux. - imolit
Voici une question connexe qui montre comment configurer cabot: askubuntu.com/a/499335/75735 - KalenGi
Très bonne réponse. Mais comment puis-je utiliser mail lire le courrier électronique? le page de manuel ne dit pas - jpaugh
J'ai consulté mon courrier avec la commande cat / var / mail / $ USER et l'ai supprimé avec la commande rm -rf / var / mail / $ USER. - Sinan Eldem
@grawity devrais-je supprimer les fichiers dans /var/mail/ quand je les lis ou efface simplement le texte à l'intérieur? Je vous remercie! - yaylitzis


Le moyen le plus simple pour moi était de lancer les opérations suivantes dans un terminal:

cat /var/spool/mail/root

178
2017-11-25 11:46



Meilleure réponse pratique à ce jour qui ajoute réellement à la connaissance. Maintenant je peux lire le courrier. Je me demande pourquoi c'est la réponse la plus basse. - CDR
Je me rends compte que c'est une très vieille question / réponse, mais ce XKCD est pertinent pour la discussion. (indice: texte en vol stationnaire) - Blackhawk
Ou juste less $MAIL si vous voulez naviguer - Walf
Ou less +G $MAIL pour commencer à la fin. - Charlie Gorichanaz
@Blackhawk Et maintenant encore plus ce XKCD. - dessert


Juste pour apporter quelques précisions, il est de tradition depuis longtemps que les boîtiers UNIX exécutent un démon de publipostage «configuré localement» qui ne route pas les messages via Internet, mais ne copie que les messages vers d'autres répertoires (comme @John T mentionné). Il s’agit d’un véritable e-mail compatible SMTP, il n’est tout simplement pas routé sur Internet car il n’a pas besoin d’être.

Donc, si vous lancez un client de messagerie (comme alpine ou mutt) vous pouvez envoyer du courrier à d’autres utilisateurs du système en vous adressant à user@hostname, ou dans de nombreux cas, il suffit de spécifier l'utilisateur. Vous avez également probablement un utilitaire de ligne de commande appelé mailx cela peut être utilisé pour envoyer un email rapide en utilisant votre shell.

Maintenant, si vous voulez envoyer des messages aux utilisateurs sur des systèmes autres que celui auquel vous êtes connecté, c'est là que commence le vrai plaisir. Vous devez configurer votre démon de messagerie pour qu'il reconnaisse et transmette les e-mails externes à un agent de transfert, configure l'agent de transfert et effectue toute une série de tâches que je ne comprends pas encore.


36
2017-07-04 16:31





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

$ mail

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

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

Pour en savoir plus sur la façon dont mail programme fonctionne, voir la sortie de man mail.


36
2017-08-30 19:47



// Cela ne fonctionne pas vraiment sur CEntOS 6. Dans ce cas, il faut utiliser $ mailx. - Nathan Basanese
Sur Ubuntu 16.04, je dois d'abord installer mailutils en exécutant apt install mailutils - Edwin Yip
Sur les instances Amazon EC2, vous pouvez l’installer en utilisant sudo yum install mail - JonDoe297
Fonctionne pour moi sur macOS - juanmirocks


Où est ce mail?

Très probablement stocké sur votre machine, dans le dossier de la 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 grâce à alpin.

Que contient-il?

Probablement juste quelques trucs de type système. "Tellement, j'ai essayé de se connecter 10 fois avec un mot de passe incorrect" .. "Je souhaite que quelqu'un mette à jour les mises à jour sur moi", "pilote  tel ou tel échoue constamment "," Le bot NSA a amélioré les performances de 1% ".. etc.

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

Services sur votre serveur, probablement.

Est-ce important?

Dépend de l'importance de votre serveur.


23
2017-07-04 15:29



Je pense que la suggestion de John selon laquelle il est stocké dans / var / spool / mail / root repose sur une (bonne) hypothèse selon laquelle vous exécutez sendmail. Je pense que d'autres serveurs de messagerie utilisent des emplacements différents pour stocker le courrier. - James T Snell
Existe-t-il un moyen pour les utilisateurs d’utiliser le sous-système de messagerie? - n0pe
White Phoenix: Je prendrai mon courrier quand je recevrai le message à nouveau :) Y a-t-il un moyen pour moi de le déclencher ou est-ce trop localisé d'une question? - n0pe
Si vous souhaitez explorer le fonctionnement de votre propre serveur de messagerie (que les utilisateurs utilisent au sens habituel du courrier électronique), il serait utile de savoir quelle distribution vous utilisez? Sans cette information, tout ce que je dirai, c'est que je vous suggère de lire sur sendmail (car vous utilisez probablement déjà sendmail). - James T Snell
La plupart d’entre eux utilisent AIX, mais je voudrais explorer cela sur mon poste de travail à la maison en utilisant OpenSuSe - n0pe


Ce courrier est généralement situé dans /var/spool/mail/root lorsque le démon sendmail par défaut est configuré. Il contient un message électronique RAW qui peut être lu par le mail utilitaire. Qui l'a envoyé peut être trouvé en exécutant le mail l'utilité et la recherche dans les messages ou la lecture des 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 de journaux et d'autres services peuvent envoyer un courrier électronique à l'utilisateur root local pour vous rappeler un événement spécifique, tel qu'un espace disque insuffisant ou des erreurs matérielles. Le démon mailer vous alertera également s'il n'a pas réussi à envoyer un courrier sortant.


13
2017-07-04 15:28



Est-il possible de voir comment mon sous-système de messagerie est configuré? - n0pe
@Max le sendmail.mc fichier contrôle la configuration du démon sendmail sur la plupart des installations par défaut. Il est généralement situé sous /etc/mail. - John T
@Max Je recommande fortement de lire un tutoriel tel que linuxhomenetworking.com/wiki/index.php/ pour vous aider à configurer le démon de messagerie comme vous le souhaitez. - John T
Sur Ubuntu 16.4., J'ai /etc/mail.rc qui n'est pas lié à sendmail - Timo


less +G /var/spool/mail/root

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

Montrer directement le fichier courrier est une bonne idée, mais en utilisant cat peut facilement se tromper. Tu ne veux pas tout les mails défilent, s'il y a beaucoup de messages ou de très longs messages dans le fichier. Je viens de voir un avec 150MB, deux millions de lignes.

Si vous n'êtes pas root:

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

le +G l'option 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, en faisant apparaître la dernière page du fichier après le démarrage. Cela montre le dernier message (le plus récent), s'il correspond à une page ou à la fin de celle-ci.

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


10
2017-09-03 00:16



//, excellente décomposition. Cette réponse serait particulièrement utile pour les personnes qui ne savent pas facilement quoi faire avec le fichier. - Nathan Basanese
Au cas où quelqu'un d'autre se demanderait, +G "amène moins à afficher initialement chaque fichier à la fin plutôt qu'au début." (linux.die.net/man/1/less) - Sam
@Sam Merci, raffiné un peu plus. - Volker Siegel