
Acabo de enviar un correo local usando la siguiente sintaxis:
echo "Testing" | mail -s "This is just a test" root@localhost
Luego inicio sesión en root usando:
sudo -i
Y revisa mi correo. El mensaje está ahí. Si repito el comando de correo e inicio sesión en root usando:
su root
El correo no está en mi buzón. En ambos casos estoy iniciando sesión en la cuenta raíz, entonces, ¿qué está pasando aquí? Es una instalación básica bastante nueva de CentOS 7.
Incluso revisé nuevamente iniciando sesión usando su y cuando no estaba allí, cerré la sesión y volví a iniciar sesión usando sudo -i y, efectivamente, el correo estaba allí.
Respuesta1
La causa de este comportamiento es la MAIL
variable de entorno. Cuando cambias a root con
sudo -i
simula un inicio de sesión inicial ( -i
) y la MAIL
variable de entorno está configurada en /var/spool/mail/root
. Cuando cambias a root con
su root
La MAIL
variable de entorno permanece en su valor anterior, es decir, /var/spool/mail/jo
y el comando mail
verifica el buzón del usuario y no el buzón del root. Por eso lo ves vacío.