2011-07-04 15:23:42 +0000 2011-07-04 15:23:42 +0000
446
446

¿Qué es el mensaje "Tienes un nuevo correo" en Linux/UNIX?

A veces, cuando entro en una caja y ‘su’ a root, recibo un lindo mensaje que dice que tengo correo (gracias a DIOS no es AOL).

  • ¿Dónde está este correo?
  • ¿Qué contiene?
  • ¿Quién/Qué lo envió?
  • ¿Qué tan importante es?

¿Es este “correo” real en el mismo sentido que el correo electrónico? ¿O es sólo mi sistema diciéndome algo?

EDIT: En relación con esta pregunta, ¿sería capaz de enviarme correo usando el programa sendmail así: email@localhost?

Respuestas (7)

367
367
367
2011-07-04 16:30:34 +0000

¿Dónde está este correo?

Es probable que esté en el archivo spool: /var/mail/$USER o /var/spool/mail/$USER son las ubicaciones más comunes en Linux y BSD.

(Otras ubicaciones son posibles - comprueba si $MAIL está configurado - pero por defecto, el sistema sólo te informa sobre /var(/spool)/mail. )

Generalmente el archivo de spool está en un formato muy simple mbox, por lo que puede abrirlo en un editor de texto o un paginador.

Para una forma un poco más conveniente, la mayoría de las distribuciones vienen con un programa llamado mail (o Mail, mailx). Puedes probar mutt o alpine; incluso puedes configurarlo para que se envíe a un buzón externo. (Ver “¿Es esto correo real?” más abajo.)

¿Qué contiene, y quién/qué lo ha enviado?

La mayoría de las veces los mensajes contienen la salida de trabajos cron, o un informe de seguridad del sistema de logwatch, o basura similar. Léelo y averígualo.

¿Qué importancia tiene?

Depende en gran medida del contenido de cada mensaje.

Deberías deberías al menos escanear los encabezados de los asuntos - a menudo la gente ignora el correo durante meses sin darse cuenta de que sus tareas cron diarias fallan.

¿Es esto incluso un “correo” real en el mismo sentido que el correo electrónico? ¿O es sólo mi sistema diciéndome algo?

Sí a ambos - es generado por su sistema diciéndole algo, pero también es correo electrónico real y puede ser manejado como tal.

Puede (y debería) configurar su software de correo - el “MTA” alias /usr/sbin/sendmail - para reenviar los mensajes a su dirección de correo personal. Las instrucciones exactas varían dependiendo del MTA (si lo hay) que tengas instalado, si se trata de un ordenador personal o un servidor, si tienes tu propio dominio o utilizas un @gmail.com, etc.

Ten en cuenta que /usr/sbin/sendmail es hoy en día una API compartida y no significa necesariamente el MTA original de Sendmail. De hecho, usted _no debería usar Sendmail, sino algo más moderno como OpenSMTPD, Postfix o Exim4. Todos ellos proveen la misma herramienta /usr/sbin/sendmail, pero son más fáciles de configurar, más seguros, e igual de poderosos.

219
219
219
2011-11-25 11:46:45 +0000

La forma más fácil para mí fue ejecutar lo siguiente en una terminal:

cat /var/spool/mail/root
64
64
64
2014-08-30 19:47:07 +0000

Para cualquiera que se pregunte cómo leer estos mensajes uno por uno, puede usar ‘mail’

$ mail

A continuación, escriba un número de mensaje de la lista que desee leer.

Para ir al siguiente mensaje puede escribir ‘next’, otro comando útil es ‘delete’…

Para ver más sobre cómo funciona el programa mail, vea la salida de man mail.

41
41
41
2011-07-04 16:31:21 +0000

Sólo para ofrecer algunas aclaraciones, desde hace mucho tiempo es tradición que los buzones UNIX ejecuten un demonio de correo “configurado localmente” que no enruta los mensajes a través de Internet, sino que sólo copia los mensajes a los directorios de spool de otros usuarios (como mencionó @John T). Es un verdadero correo electrónico compatible con SMTP, sólo que no se enruta por Internet porque no es necesario.

Por lo tanto, si se enciende un cliente de correo electrónico (como alpine o mutt) se puede enviar correo a otros usuarios del sistema dirigiéndose a user@hostname, o en muchos casos, sólo especificando el usuario. También es probable que tengas una utilidad de línea de comandos llamada mailx que puede ser usada para enviar un correo electrónico rápido usando tu shell.

Ahora, si quieres enviar mensajes a usuarios en sistemas distintos al que estás conectado, ahí es donde comienza la verdadera diversión. Necesitarás configurar tu demonio de correo para que reconozca y entregue el correo electrónico externo a un agente de transferencia, configurar el agente de transferencia y hacer un montón de cosas que yo mismo no entiendo todavía.

26
26
26
2011-07-04 15:29:18 +0000

¿Dónde está este correo?

Es muy probable que esté almacenado en su máquina, en la carpeta del buzón de su usuario raíz (donde ESO depende del tipo de servidor de correo que tenga instalado). Probablemente puedes acceder a él bastante rápido a través de alpine.

¿Qué contiene?

Probablemente sólo algunas cosas de tipo informe de sistema. “So and so tried to login 10 times with an incorrect password”… “I wish someone would run updates on me”, “driver tal y tal está fallando constantemente”, “The NSA bot has boosted performance by 1%”… etc.

Who/What sent it?

Servicios en su servidor, lo más probable.

How important is it?

Depende de lo importante que sea su servidor.

14
14
14
2011-07-04 15:28:29 +0000

Este correo se encuentra típicamente en /var/spool/mail/root cuando se configura el demonio (habitual) predeterminado de sendmail. Contiene un mensaje de correo electrónico en formato RAW que puede ser leído por la utilidad mail. Se puede encontrar a quien lo envió ejecutando la utilidad mail y paginando los mensajes o leyendo las cabeceras RAW.

La importancia del mensaje suele depender del factor anterior, quién lo envió :)

Muchas utilidades del sistema usarán el subsistema de correo como medio para informar y registrar. Las utilidades de vigilancia de registros y otros servicios pueden enviar un correo electrónico al usuario raíz local como recordatorio de un evento específico, como por ejemplo, el poco espacio en el disco o los errores de hardware. El demonio de correo también le alertará si no pudo enviar un correo electrónico saliente.

12
12
12
2014-09-03 00:16:39 +0000

less +G /var/spool/mail/root

muestra los últimos correos, al final si el archivo.

Mostrar directamente el archivo del correo es una buena idea, pero usar cat puede fácilmente salir mal. No quieres que todos los correos se desplacen, si hay muchos mensajes, o mensajes muy largos en el archivo. Acabo de ver uno con 150MB, dos millones de líneas.

Si no eres root:

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

La opción +G se usa para mostrar primero el mensaje más reciente; no está en la parte superior del archivo, sino al final.

Es una opción de less, haciendo que muestre la última página del archivo después de empezar. Que muestra el último mensaje (el más reciente), si cabe en una página, o el final de la misma en caso contrario.

El nombre del archivo puede ser /var/spool/mail/mail en lugar de /var/spool/mail/root