Script para notificar correos nuevos

Hola, me propuse conseguir o armar un script que me diga cuantos correos nuevos tengo. La idea es que me devuelva el número solamente y corra por terminal (uso i3 y quiero que aparezca en la barra de abajo)

Lo primero que pensé fue echar una mirada a los scripts de los que se servía conky para conseguirlo, pero tal vez hay más formas. No he avanzado todavía en esto, pero abro este tema para ir dejando registro de lo que encuentre y, si alguien tiene info o ideas de como hacerlo, las comparta.

Saludos!

1 me gusta

encontré algo interesante (pero no me sirve). lo dejo de todos modos: con curl se pueden obtener los últimos correos de gmail:

curl -u USUARIO:CONTRASEÑA \
     --silent 'https://mail.google.com/mail/feed/atom' \
     | sed -n 's:.*<fullcount>\(.*\)</fullcount>.*:\1:p'

los contras son: tener q guardar la contraseña en texto plano (imagino que habrá alguna forma de resolver esto, pero es un paso siguiente) y que funciona solo con gmail (o con correos que tengan la salida por atom, situación en la que no estoy con mi correo).

de todos modos, qué genial es curl. Mientras testeaba lo anterior, probé este comando que, aun cuando inutil aun, creo que me acerca un poco a lo que quiero:

$ curl imap.misitio.com -u USUARIO:CONTRASEÑA
* LIST (\HasChildren) "." INBOX
* LIST (\HasNoChildren) "." INBOX.old-messages
* LIST (\HasNoChildren \Trash) "." INBOX.Trash
* LIST (\HasNoChildren) "." INBOX.Spam
* LIST (\HasNoChildren \Sent) "." INBOX.Sent
* LIST (\HasNoChildren) "." INBOX.Queue
* LIST (\HasNoChildren) "." INBOX.Papelera
* LIST (\HasNoChildren \Junk) "." INBOX.Junk
* LIST (\HasNoChildren) "." INBOX.Enviados
* LIST (\HasNoChildren \Drafts) "." INBOX.Drafts
* LIST (\HasNoChildren) "." INBOX.Borradores
* LIST (\HasNoChildren) "." INBOX.Archivo

No sé que hacer desde este punto, seguiré buscando porque me gusta la idea de resolverlo con curl.