Como deixo uma mensagem para outro usuário (local)?

27

Sei que você pode usar writepara enviar uma mensagem a um usuário conectado no momento, mas como você deixa uma mensagem para um usuário que não está conectado? A solução que eu vi é modificar o motd, mas isso será exibido para todos os usuários. Como posso deixar uma mensagem para usuários individuais lerem quando fazem login?

styfle
fonte

Respostas:

26

Você pode usar o mailcomando para enviar uma mensagem ao usuário jdoeassim:

mail -s "The subject goes here" jdoe

Você entrará em um ambiente interativo onde poderá digitar sua mensagem (corpo do email). Digite Control-Do início de uma linha para finalizar a mensagem e enviá-la (você será solicitado a receber um destinatário opcional do CC - basta pressionar Enter se não quiser um).

Você também pode fazer:

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

ou

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

Na próxima vez que o jdoe fizer login, ele receberá uma notificação como "Você tem um novo e-mail" e ele deve digitar mailpara lê-lo (talvez isso seja uma desvantagem se o usuário não souber que deve fazer isso).

Baldrick
fonte
Era exatamente isso que eu estava procurando! Agora existe uma maneira de mostrar quantas novas mensagens existem sem abrir mail? Estou lendo a página de manual e não vejo uma maneira de fazer isso. Também não posso criar um script bash que empurre 'q' para mim, tanto quanto eu sei.
Styfle
Percebi que quando eu faço o login, ele diz 'Você tem e-mail', e isso já está resolvido. Mas caso alguém esteja se perguntando, você pode usar um script echo "q" | mailpara ver quantas mensagens você tem.
Styfle
Observe que a notificação mencionada é emitida pelo shell e pode ser desativada. Supondo que você use Bash, veja MAIL, MAILCHECKe MAILPATHno homem para saber o que você pode esperar.
manatwork 24/09/11
11
Você também pode executar o biff para monitorar a caixa de correio.
casualunixer 25/09/11
isso não funcionou. Enviei um email para um usuário local e entrei nesse usuário, mas não recebi nenhum email.
Necktwi
-4

Tente wall, http://linux.die.net/man/1/wall Talvez isso funcione?

Razgorov Prikazka
fonte
2
Isso é praticamente o oposto do que ele quer. Ele deseja um comando que deixe uma mensagem para um usuário desconectado específico; wall mostra uma mensagem para todos os usuários atualmente logados
Michael Mrozek