¿Cómo dejo un mensaje para otro usuario (local)?

27

Sé que puede usar writepara enviar un mensaje a un usuario que ha iniciado sesión actualmente, pero ¿cómo deja un mensaje para un usuario que no ha iniciado sesión? La solución que he visto es modificar el motd, pero eso se mostrará a todos los usuarios. ¿Cómo puedo dejar un mensaje para que lo lean los usuarios individuales cuando inician sesión?

Styfle
fuente

Respuestas:

26

Puede usar el mailcomando para enviar un mensaje al usuario jdoecomo este:

mail -s "The subject goes here" jdoe

Ingresará a un entorno interactivo donde podrá escribir su mensaje (cuerpo del correo). Escriba Control-Del comienzo de una línea para finalizar el mensaje y enviarlo (se le pedirá un destinatario CC opcional; simplemente presione Intro si no desea uno).

También puedes hacer:

mail -s "The subject goes here" jdoe < textfile

o

echo “John, don't forget our meeting” | mail -s "Reminder" jdoe

La próxima vez que jdoe inicie sesión, recibirá una notificación como "Tiene correo nuevo" y debe escribir mailpara leerlo (tal vez esto sea un inconveniente si el usuario no sabe que debe hacerlo).

Baldrick
fuente
¡Esto es exactamente lo que estaba buscando! ¿Ahora hay una manera de mostrar cuántos mensajes nuevos hay sin abrir mail? Estoy leyendo la página de manual y no veo una manera de hacerlo. Tampoco puedo hacer un script bash que empuje 'q' para mí hasta donde yo sé.
styfle
Me di cuenta de que cuando inicio sesión, dice 'Tienes correo', así que eso ya está resuelto. Pero en caso de que alguien se pregunte, puede usar un script echo "q" | mailpara ver cuántos mensajes tiene.
styfle
Tenga en cuenta que la notificación mencionada es emitida por el shell y se puede desactivar. Suponiendo que utilice Bash, ver MAIL, MAILCHECKy MAILPATHen el hombre para saber lo que puede esperar.
manatwork
1
También puede ejecutar biff para monitorear el buzón.
casualunixer
Esto no funcionó. Envié un correo a un usuario local e inicié sesión en ese usuario pero no recibí ningún correo.
Necktwi
-4

Intente con la pared, http://linux.die.net/man/1/wall ¿ Tal vez eso sea suficiente?

Razgorov Prikazka
fuente
2
Esto es más o menos lo contrario de lo que quiere. Quiere un comando que deje un mensaje para un usuario específico y desconectado; el muro muestra un mensaje a todos los usuarios que actualmente están conectados
Michael Mrozek