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


A veces, cuando inicio sesión en un cuadro y 'su' en la raíz, recibo un lindo y pequeño mensaje que dice que tengo correo (gracias a Dios que no es AOL).

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

¿Es esto incluso el "correo" real en el mismo sentido que el correo electrónico? ¿O es solo mi sistema diciéndome algo?

EDITAR: En relación a esta pregunta, ¿podría enviarme correos usando el programa sendmail así: email@localhost?


369


origen


Tengo este mensaje que dice "Este texto es parte del formato interno de tu carpeta de correo, ..." así que por supuesto cada vez que ingreso me informo que tengo correo. - GEdgar
@GEdgar: Esto generalmente significa que debes dejar de usar mbox buzones y migrar a Maildir :) - grawity
Relacionado: superuser.com/questions/149282/... - dmckee
Cómo reenviar el correo: unix.stackexchange.com/questions/26666/... - Melebius
En caso de que alguien esté buscando, aquí está powerhshell one-liner para dividirlo en archivos únicos legibles por Outlook: $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)} - JDuarteDJ


Respuestas:


¿Dónde está este correo?

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

(Otros lugares son posibles - verifique si $MAIL está configurado, pero de forma predeterminada, el sistema solo le informa sobre /var(/spool)/mail.)

Por lo general, el archivo de cola es muy simple mbox formato, para que pueda abrirlo en un editor de texto o buscapersonas.

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 puede configurarlo para enviarlo a un buzón externo. (Consulte "¿es este correo real?" A continuación).

¿Qué contiene y quién / qué lo envió?

En la mayoría de los casos, los mensajes contienen salidas de tareas cron, o un informe de seguridad del sistema mediante logwatcho basura similar. Léelo y averígualo.

¿Qué tan importante es?

Depende mucho del contenido de cada mensaje.

debería al menos escanee los encabezados de los temas: a menudo las personas ignoran el correo durante meses sin darse cuenta de que sus trabajos cron diarios fallan.

¿Es esto incluso el "correo" real en el mismo sentido que el correo electrónico? ¿O es solo mi sistema diciéndome algo?

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

Puede (y debe) configurar su software de correo - el "MTA" aka /usr/sbin/sendmail - reenviar los mensajes a su dirección de correo personal. Las instrucciones exactas varían según el MTA (si lo hay) que haya instalado, ya sea una computadora personal o un servidor, ya sea que tenga su propio dominio o use un @ gmail.com, y así.

Tenga en cuenta que /usr/sbin/sendmail hoy en día es una API compartida y no lo hace necesariamente significa el MTA de Sendmail original. De hecho, tú no debería use Sendmail, pero algo más moderno como OpenSMTPD, Postfix o Exim4. Todos ellos brindan el mismo /usr/sbin/sendmail herramienta, pero son más fáciles de configurar, más seguros y más potentes.


306



Buena respuesta. Si hubiera agregado enlaces con información sobre cómo configurar OpenSMTPD, Postfix o Exim4 para reenviar correos a su dirección de correo electrónico normal, habría sido aún mejor. - imolit
Aquí hay una pregunta relacionada que muestra cómo configurar chucho: askubuntu.com/a/499335/75735 - KalenGi
Gran respuesta. Pero como uso mail para leer el correo electrónico? los página de manual no dice - jpaugh
Vi mi correo con el comando cat / var / mail / $ USER y lo eliminé con el comando rm -rf / var / mail / $ USER. - Sinan Eldem
@grawity debería eliminar los archivos en /var/mail/ cuando los leo o simplemente borro el texto dentro de ellos? ¡gracias! - yaylitzis


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

cat /var/spool/mail/root

178



La mejor respuesta práctica hasta el momento que realmente aumenta el conocimiento. Ahora puedo leer el correo. Me pregunto por qué es la respuesta más baja. - CDR
Me doy cuenta de que esta es una pregunta / respuesta bastante antigua, pero este XKCD es relevante para la discusión. (sugerencia: texto emergente) - Blackhawk
O solo less $MAIL si quieres navegar - Walf
O less +G $MAIL para comenzar al final. - Charlie Gorichanaz
@Blackhawk Y ahora aún más este XKCD. - dessert


Solo para ofrecer alguna aclaración, ha sido una tradición durante mucho tiempo que las cajas UNIX ejecuten un daemon de correo "configurado localmente" que no enruta mensajes a través de Internet, sino que solo copia mensajes a otros usuarios en los directorios de cola (como @John T mencionado). Es un correo electrónico real compatible con SMTP, simplemente no se enruta a través de Internet porque no es necesario.

Entonces, si enciendes un cliente de correo electrónico (como alpine o mutt) puede enviar correos a otros usuarios en el sistema dirigiéndose a user@hostname, o en muchos casos, simplemente especificando el usuario. También es probable que tenga una utilidad de línea de comandos llamada mailx que se puede usar para enviar un correo electrónico rápido usando su caparazón.

Ahora, si desea enviar mensajes a los usuarios en sistemas que no sean el que está conectado, ahí es donde comienza la verdadera diversión. Deberá configurar su daemon de correo para reconocer y entregar el correo electrónico externo a un agente de transferencia, configurar el agente de transferencia y hacer un montón de cosas que aún no entiendo.


36





Para cualquiera que se pregunte cómo leer estos mensajes uno por uno, puede usar 'correo'

$ mail

Luego escriba un número de mensaje de la lista que desea leer.

Para ir al siguiente mensaje puede escribir 'siguiente', otro comando útil es 'eliminar' ..

Para ver más acerca de cómo el mail el programa funciona, vea el resultado de man mail.


36



//, Esto realmente no funciona, en CEntOS 6. En ese caso, uno debe usar $ mailx. - Nathan Basanese
En Ubuntu 16.04, necesito instalarlo primero mailutils mediante la ejecución apt install mailutils - Edwin Yip
En las instancias de Amazon EC2, puede instalarlo usando sudo yum install mail - JonDoe297
Funciona para mí en macOS - juanmirocks


¿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 ES depende de qué tipo de servidor de correo haya instalado). Probablemente puedas acceder a él bastante rápido a través de alpino.

¿Qué contiene?

Probablemente algunas cosas de tipo informe de sistema. "Intenté conectarme 10 veces con una contraseña incorrecta" ... "Ojalá alguien me pusiera las actualizaciones", "conductor"  tal y tal está fallando constantemente "," El bot de la NSA ha aumentado el rendimiento en un 1% ".. etc.

¿Quién / qué lo envió?

Servicios en su servidor, lo más probable.

¿Qué tan importante es?

Depende de la importancia de tu servidor.


23



Creo que la sugerencia de John de que esté almacenada en / var / spool / mail / root se basa en una (buena) suposición de que está ejecutando sendmail. Creo que otros servidores de correo usan diferentes ubicaciones para almacenar correo. - James T Snell
¿Hay alguna manera para que los usuarios usen el subsistema de correo? - n0pe
White Phoenix: veré cuándo está mi correo cuando reciba el mensaje de nuevo :) ¿Hay alguna manera de activarlo o se trata de una pregunta demasiado localizada? - n0pe
Si desea explorar la ejecución de su propio servidor de correo (que las personas usan en un sentido típico de correo electrónico), primero sería útil saber qué distribución está ejecutando. Sin esa información, todo lo que diré, es que sugiero que leas en sendmail (ya que probablemente ya estés ejecutando sendmail). - James T Snell
La mayoría de ellos están ejecutando AIX, pero me gustaría explorar esto en mi estación de trabajo en casa ejecutando OpenSuSe - n0pe


Este correo se encuentra típicamente en /var/spool/mail/root cuando el daemon de sendmail predeterminado (usual) está configurado. Contiene un mensaje de correo electrónico RAW que puede leer el mail utilidad. Quien lo envió se puede encontrar ejecutando el mail utilidad y paginación a través de los mensajes o leer los encabezados RAW.

La importancia del mensaje generalmente depende del factor anterior, quién lo envió :)

Muchas utilidades del sistema utilizarán el subsistema de correo como un medio para informar y registrar. Las utilidades de registrador de registros y otros servicios pueden enviar un correo electrónico al usuario raíz local como un recordatorio sobre un evento específico, como poco espacio en disco o errores de hardware. El daemon de correo también lo alertará si no envió un correo electrónico de salida.


13



¿Hay alguna manera de ver cómo está configurado mi subsistema de correo? - n0pe
@Max el sendmail.mc la configuración de los controles de archivo del daemon sendmail en la mayoría de las instalaciones predeterminadas. Por lo general, se encuentra debajo de /etc/mail. - John T
@Max Recomiendo leer un tutorial como linuxhomenetworking.com/wiki/index.php/... para ayudarlo a configurar el daemon de correo como lo desee. - John T
En ubuntu 16.4., Tengo /etc/mail.rc que no está relacionado con sendmail - Timo


less +G /var/spool/mail/root

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

Mostrar directamente el archivo de correo es una buena idea, pero cat puede salir mal fácilmente Usted no quiere todas los correos electrónicos se desplazan por 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

los +G la opción se usa para mostrar primero el mensaje más nuevo; 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 comenzar. Eso muestra el último mensaje (el más nuevo), si cabe en una página, o el final de eso de lo contrario.

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


10



//, excelente desglose. Esta respuesta sería especialmente útil para aquellas personas que no saben fácilmente qué hacer con el archivo. - Nathan Basanese
En caso de que alguien más se pregunte, +G "causa menos para mostrar inicialmente cada archivo comenzando al final en lugar de al principio". (linux.die.net/man/1/less) - Sam
@Sam Gracias, refinado un poco más. - Volker Siegel