Eu encontrei o seguinte:
Essa pessoa descreve exatamente o que eu estava procurando. Gênio puro! Para capturar a essência (tudo abaixo está no link acima):
Imprimir todo o email para STDOUT:
$ echo "type *" | mail
$ echo "type 1" | mail # print the first email to stdout
$ echo "type 3-5" | mail # print the emails from 3 to 5
Verifique se a caixa de correio está vazia (ou seja, "Nenhum email para [nome de usuário]" foi encontrado):
$ echo q | mail 2>&1 | grep "No mail for [username]"
Limpar a caixa de correio:
$ echo "d *" | mail
$ echo "d 3" | mail # Delete the 3rd email
Salvar todos os e-mails em um arquivo de texto:
$ echo "s * test.txt" | mail
Salvar e-mails entre um intervalo em um arquivo:
$ echo "s 3-6 test.txt" | mail # this will save email from #3 to #6 to the file test.txt
Leia um email da caixa de correio:
$ echo 1 | mail # Read the first mail from mail box:
$ echo 5 | mail # Read the 5th email from mail box:
$ echo 6 | mail
Se não houver um 6º email da caixa de correio. Ele solicitará o erro abaixo:
6: Invalid message number
A mensagem de erro "Número de mensagem inválido" informa que não há nenhum sexto email na caixa de correio. Se o quinto email for retornado com sucesso. Você pode tratar a mensagem de erro "Número de mensagem inválido" como o final da caixa de correio, assim como o EOF de um arquivo. Combinado isso com um loop, você pode navegar por todos os emails dentro da caixa de correio.