Cómo eliminar el mensaje de bienvenida "Tienes correo"

39

Cuando abro mi terminal dice "tienes correo", ¿alguien tiene idea de por qué? Estoy ejecutando OS X, pero dado que también se basa en Unix y se basa en archivos como bashrc, bash_profile, etc. Pensé que alguien aquí podría saberlo, ¡y no estoy seguro de que sea un problema específico de la plataforma!

Gilles 'SO- deja de ser malvado'
fuente

Respuestas:

37

Parece que algo ha enviado correo en (y hacia) la máquina usando el intercambiador de correo local. Lo más probable es que el correo electrónico sea un mensaje automatizado de algún paquete instalado. Una vez que inicie sesión, escriba mailen el terminal para leer y (presumiblemente) eliminar el correo relevante. (En el interior mail, use ?para averiguar cuáles son los comandos). Una vez que haya leído o eliminado cualquier correo no leído, no volverá a ver el mensaje "Tiene correo" hasta / a menos que otra cosa envíe el correo de la misma manera. Lo más probable es que una vez que sepa qué le está enviando el correo, puede encontrar una opción de configuración para cambiar a dónde lo envía.

TJ Crowder
fuente
26

Es un "problema específico de la plataforma" :-)

Mac OS X utiliza como shell predeterminado BASH como muchos otros sistemas Un * x / Linux.

El correo de su sistema se almacena en un buzón para su usuario, a menudo ubicado en /var/mail/$user

Debido a que a veces su buzón contendrá mensajes importantes (una tarea cronjob fallida, etc.), no debe verificarlo usted mismo cada vez.

El BASH (y muchos otros shells) tienen una función llamada mailcheck, que envía su mensaje la primera vez que abre su terminal.

$ MAILCHECK es una variable de entorno que contiene los segundos cuando es el momento de verificar si hay correo nuevo. El correo también se verifica antes de mostrar la solicitud principal. Ver más en man bash- Variables Bash .

Para evitar las comprobaciones de correo nuevo, simplemente puede deshabilitar $ MAILCHECK. El lugar correcto para esto es su archivo .bashrc, que se leerá cuando abra un shell. Está en su directorio de inicio de usuario.

Añadir a ~ / .bashrc:

unset MAILCHECK

para deshabilitar el mensaje.

Por supuesto, también es posible eliminar simplemente los correos electrónicos como TJ Crowder mencionó :-)

echox
fuente
7

Usando Raspian (distribución basada en Debian para Raspberry Pi) sobre SSH, tuve que comentar la siguiente línea en /etc/pam.d/sshd para deshacerme de ella.

session    optional     pam_mail.so standard noenv # [1]
Frode
fuente
44
¿Podría comentar un poco más sobre cómo descubrió esto? Puede ser de ayuda para personas con preguntas similares.
vonbrand
Encontré la solución en una lista de correo. el autor dice que tropezó con la línea cuando hurgaba en /etc/pam.d/sshd. Me temo que eso es todo lo que sé.
Frode
Esto también me lo arregló en ubuntu.
Jacob
Comenta que esta línea me funcionó en Ubuntu (DigitalOcean) y Debian (red local) a través de SSH. También he desactivado motd.
thiagobraga
3

Tengo un sheevaplug con Debian. Comenté la línea informada insertando # y resolví el problema.

Archivo para editar en debian:

/etc/pam.d/sshd

Línea para comentar en el archivo:

session    optional     pam_mail.so standard noenv # [1]
Alessandro D'lncal
fuente
1

correr crontab -e y agregue resultados a sus trabajos cron. Si desea deshabilitar los correos electrónicos para un solo trabajo cron, deberá redirigir su salida /dev/nullagregando > /dev/null 2>&1al final de la línea.

Por ejemplo:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Nole
fuente