use 'mail' para leer correos electrónicos desde la línea de comandos

11

Sé que podemos usar el mailcomando en la terminal para comenzar a usar el mailprograma en modo interactivo.

Sin embargo, quiero leer el correo electrónico usando el mailcomando de forma no interactiva.

¿Hay un comando como

$ mail -optionToReadMail -mailNumber 1;

¿Cuál mostrará el contenido del correo electrónico en stdout?

sps
fuente

Respuestas:

17

Para imprimir el primer mensaje de correo en su buzón predeterminado, use:

echo p | mail

mailsolo es interactivo cuando stdin es una terminal. Debido a que mailobtiene su stdin de una tubería, no es interactivo. El pcomando (imprimir) le dice que imprima el mensaje predeterminado (primero).

Para obtener más opciones, puede encontrar que man mailes muy útil.

John1024
fuente
¿Hay alguna manera de hacerlo sin usar tubería?
sps
1
@sps Claro. Utilice una cadena multilínea: mail <<<p.
John1024
¿Hay alguna manera sin usar el <personaje?
sps
2
Para ayudarme a responder eso, explique lo que realmente está tratando de lograr. ¿Por qué son tuberías y <no deseados?
John1024
2
@sps En el futuro, ponga todas sus condiciones en su pregunta por adelantado, en lugar de agregarlas poco a poco después de que la pregunta haya sido respondida.
chepner