Enviar y recibir email desde consola (mutt)


Quiero dejar huella en mi blog de un recurso que uso muy a menudo en mi trabajo, se trata de Mutt, un cliente de correo electrónico basado en texto muy ligero y a la vez potente. ¿Y por qué tanto interés en clientes de correo de consola cuando tenemos programas mucho más accesibles e intuitivos en nuestro Mac o PC? Para mí, surgió a partir de la necesidad de olvidarme de los pesados procesos que dejaba corriendo en mi equipo, la idea era implementar en mis tareas una línea de código que fuera capaz de enviarme un email cada vez que ocurriera algo que me interesara. Además, podría enviar como archivos adjuntos los resultados de mis cálculos, tablas, gráficas, imágenes, etc.

Así pues, quiero dejar en esta bitácora un manual de instalación, configuración y uso básico, y posteriormente, algún ejemplo para automatizar el envío de emails asociado a procesos; nada que se salga del uso básico.

Captura del manual de mutt

Captura del manual de mutt

1. Instalación de mutt

Instalar mutt en nuestro sistema es tan fácil como cualquier otro programa que esté alojado en un repositorio GNU/Linux mediante apt-get o como en mi caso mediante Fink.

Nota: Si eres usuario de MacOS debes conocer Fink. Si no lo conoces te animo a que le eches un vistazo a su web: http://www.finkproject.org/

Para proceder a la descarga e instalación es necesario ejecutar la siguiente línea en la consola:

$ fink install mutt

Basta con esperar a que concluya la descarga y se instale. Una vez que haya terminado el proceso verificaremos que está correctamente instalado ejecutando simplemente:

$ mutt

Antes de comenzar a enviar correos electrónicos desde la consola debemos configurar correctamente los servidores de entrada y/o salida de éstos.

2. Configuración de los servidores de correo

Para configurar mutt tenemos que crear un archivo de configuración llamado .muttrc en la carpeta $HOME de nuestro sistema que contenga todas las direcciones y puertos necesarias para establecer la comunicación SMTP, POP y/o IMAP.

En este ejemplo, dado que me ubico en la Universidad de Málaga, muestro los datos de configuración de nuestros servidores, así, si el lector también está dentro de algunos colectivos de la UMA, tan solo tiene que copiar los siguientes parámetros de configuración.

# Firma (si existe el archivo .signature)
#set signature = ~/.signature

# Ajustes para la conexion SMPT
set smtp_pass="miFalsisimaPass"
set smtp_url="smtp://correo.uma.es:587"

# CONFIGURACION PARA MENSAJES ENTRANTES
# Ajustes para la conexion IMAP
set imap_user="hvalverde@uma.es"
set imap_pass="miFalsisimaPass"
set folder="imaps://buzon.uma.es:993"
set spoolfile="+INBOX"

Una vez echo esto ya estamos en condiciones de recibir correos electrónicos en nuestro nuevo cliente pero estamos a un paso más de poder enviarlos debido al tipo de cifrado (TLS) que nos obliga a usar  la Universidad de Málaga. Lo único que nos queda por hacer para que todo esté correcto es establecer una primera conexión con el servidor de correo saliente enviando un correo de prueba tal y como se explica más abajo (véase sección 3.1.).

3. Uso básico

3.1 Enviar correos de forma interactiva

En primer lugar ejecutamos mutt desde la consola

$ mutt

y entraremos en la interfaz del programa, donde encontraremos varias opciones que tienen asignada una letra. Para redactar un nuevo correo electrónico debemos pulsar la letra “m”, entonces aparecerá en el pie de la consola la palabra “To:” donde debemos introducir la dirección de correo electrónico a quien queremos enviar el mensaje. Introducimos una cualquiera (preferiblemente alguna que podamos consultar después para verificar el envío) y pulsamos “Enter”. Posteriormente introducimos el asunto y por último se abrirá un editor de texto donde introduciremos el cuerpo del mensaje. En mi caso se abre el editor “Vim”, donde debemos seguir la siguiente secuencia de tareas para escribir y guardar el mensaje en la bandeja de salida:

1. Pulsar la letra “i” para poder comenzar a escribir.

2. Escribir cualquier cosa (p.e. “¡Hola mundo!”).

3. Pulsar ESC para salir del modo de edición.

4. Escribir “:wq” (<dos_puntos><write><quit>).

Una vez hecho esto, nuestro mensaje está listo para ser enviado, basta con pulsar la opción “enviar” con la tecla “y”.

Recibiremos entonces un certificado que debemos “aceptar siempre” para que quede registrado en la configuración de mutt y no tengamos que repetir el proceso anterior. Ahora podremos enviar emails con una sola línea de código como se explica en el punto 3.3.

3.2 Recibir correos

Aunque este no es el principal objetivo de este artículo, he decidido mostrar una captura de pantalla de la bandeja de entrada de mi cuenta de la universidad para demostrar que el archivo de configuración que hemos creado en el punto 2 está escrito correctamente. Si, efectivamente, la configuración del servidor imap es correcta, recibiremos los correos electrónicos en el momento en el que ejecutemos mutt.

Bandeja de entrada

Bandeja de entrada

3.3 Enviar correos de forma automática

En mi opinión, este es el punto más interesante del artículo: la línea de código que debemos escribir para enviar un correo electrónico con una sola instrucción de consola. Brevemente, debemos introducir un texto por una tubería o pipe a mutt, e introducir el resto de los parámetros por argumentos, e. g.:

$ echo "Este será el cuerpo del mensaje" | mutt -s "Este será el asunto" destino@server.com

Ejecutando la línea anterior le enviaremos un mensaje a “destino@server.com” cuyo cuerpo hemos introducido por la entrada estándar y cuyo asunto hemos definido en el argumento “-s”.

Otro argumento básico es “-c”, cuyo valor debe ser otra dirección de correo electrónico que irá en el campo “CC” o “Carbon Copy”, e. g.:

$ echo "Este será el cuerpo del mensaje" | mutt -s "Este será el asunto" -c other@server.com destino@server.com

Otra utilidad de mutt es que puede enviar archivos adjuntos usando el argumento “-a”. Cuando se usa esta opción es necesario añadir dos guiones “–” después de la lista de archivos que hayamos adjuntado, e. g.:

$ echo "Ey, te adjunto estos archivos:\n 1. Curriculum\n 2. DNI\n" | mutt -s "Archivos personales" -c other@server.com -a file1.pdf file2.pdf -- destino@server.com

Es recomendable echarle un vistazo al manual de mutt (véase primera imagen) ejecutando:

$ man mutt

Existen multitud de parámetros que pueden ser muy útiles.

Una vez que dominamos estos comandos podemos implementarlos en nuestros scripts de consola (sh) o incluso en nuestros programas.

Dudas, comentarios, etc., sean bienvenidos.

Anuncios

Tutorial para conectar la agenda de tu iPhone/iPod touch con el Directorio UMA


Como se indica en el post de introducción a esta serie de tutoriales con LDAP, este es el que atañe a los dispositivos con IOS como tu iPhone o tu iPod Touch. Las versiones del SO que soportan este tipo de conexiones son las superiores a la 3.0.

Vamos a conectar la agenda de tu IOS (iPhone/iPod) a la agenda de los servidores de la Universidad de Málaga.

¿Cómo? Facilísimo.

Sigue leyendo

Tutorial para conectar tu Agenda de Mac OSX con el Directorio UMA


Lo prometí ayer, y hoy lo tenéis aquí, aunque existen algunos “peros” que se deben subsanar en un futuro próximo:

Vamos a conectar la Agenda de tu Mac OSX a la agenda de los servidores de la Universidad de Málaga.

A pesar de que fue enormemente fácil realizar la conexión con MS Office Outlook, con la Agenda de mac vamos a tardar 5 segundos. Eso sí, en este caso, todavía no es posible hacer búsquedas, al menos en mi caso.

En la imagen siguiente, está ilustrado lo que ya viene explicado en el tutorial oficial del Soporte de Apple:

Sigue leyendo

El directorio de todo el personal de la Universidad de Málaga en tu propia libreta de direcciones (Índice de tutoriales)


En otra ocasión he comentado y valorado algunos de los servicios que ofrece la UMA en el ámbito de internet.

Hoy le llega el turno al “Directorio UMA”, también conocido como DUMA. Sin entrar en muchos detalles técnicos, tan solo os explico que este directorio es una base de datos donde se recoge la información de todos los integrantes de la universidad: alumnos, profesores, PDI y PAS. Es, dicho de otro modo, una libreta de direcciones. Está construida con OpenLDAP.

Logo OpenLDAP

Este tipo de bases de datos se denominan LDAP y los permisos de acceso a estos datos están gestionados por los administradores del sistema.

En el caso que nos compete a los integrantes de la UMA (en mi caso, alumno), podemos acceder a estos datos por distintas vías como por ejemplo:

El uso que vamos a hacer nosotros de esta base de datos es conectarla a nuestras agendas de contactos para acceder a estos datos rápidamente como si estuvieran en nuestro equipo. De esta forma, si no sabes la dirección de correo electrónico del profesor al que le vas a escribir, tan solo tendrás que escribir su nombre en el destinatario y tendrás la dirección instantáneamente. En esta primera parte voy a explicar cómo conectar el Directorio UMA a la agenda de Microsoft Office Outlook y en los sucesivos post explicaré cómo conectarla a la agenda de tu Mac OSX y a tu iPhone/iPod touch.

Además de usar estas aplicaciones, puedes navegar por internet en busca de otro software de manejo de bases de datos LADP que se ajuste a tus necesidades.

Índice de los tutoriales:

De la misma forma que nos conectamos al DUMA, pueden seguirse exactamente los mismos pasos para acceder a otras libretas de direcciones (LDAP) de otras instituciones o privadas.

[Edito por disponer de nueva información]

Como ven en los comentarios de este post, existe un hilo abierto con el SCI al respecto y podéis leer información de primera mano, mucho más valiosa que la mía. De todos modos quiero hacer énfasis en lo que creo que es más importante a tener en cuenta a este respecto, cito textualmente:

2) La misión fundamental del directorio, en muchos casos, siendo la UMA
uno de ellos, no es servir de páginas blancas, si no actuar de
repositorio de identidades. Las páginas blancas son un simple
“subproducto” ;)

Desde aquí, gracias a la atención recibida por el SCI (aún no tengo permiso para citar su nombre).

Tutorial para conectar tu agenda de contactos de Microsoft Office Outlook con el Directorio UMA


Tras la introducción conceptual y contextual redactada en el post anterior, es hora de ponernos manos a la obra. Esto no es más que coser y cantar:

Vamos a conectar la agenda de MS Office Outlook a la agenda de los servidores de la Universidad de Málaga. Pasito por pasito, como os gusta:

1. Abrir Microsoft Office Outlook 2007. Lo tienes junto a tu MS Office Word/Excel en el menú de inicio o en tus Archivos de programa. Sigue leyendo

Sobre los que vienen a estudiar a la bibloteca


De todos es sabido, y sufrido, el incremento de la afluencia de estudiantes en épocas de exámenes a las bibliotecas de la universidad.

He oído y en ocasiones, compartido, todo tipo de opiniones al respecto, algunas abiertamente irracionales como por ejemplo la frase: “¿qué coño hace uno de periodismo estudiando en la biblioteca de ciencias?”. O también la típica: “Esa está demasiado buena para ser de ciencias”. Otras opiniones con argumentos bastante sólidos, por ejemplo, “qué hace ocupando un asiento con sus apuntes si lleva toda la mañana en la cafetería…” o “por qué no se van a charlar a la cafetería y dejan de molestar”.

Algunos afirman con recelo que esto se ha convertido en una moda; que muchos de los estudiantes vienen a ligar o a sociabilizarse pero no a hacer uso de los libros y los sitios de estudio pero oiga, ¿y qué?

Quizás no sea el comportamiento más correcto del mundo venir a la biblioteca a perder el tiempo, pero yo digo una cosa: ¿es comparable con el inútil que lleva toda su vida sin pisar una y rascándose los huevos allá donde quiera que esté tumbado?

Ole la masificación de jóvenes en las bibliotecas y ole las niñas – vaale, y los niños – que vienen a estudiar de otras facultades. Seguro que aunque no les cunda mucho, algo bueno se llevarán.

Túneles VPN en la uma


Desde hace tiempo vengo buscando la posibilidad de aprovechar las suscripciones que tiene la Universidad de Málaga a las revistas científicas electrónicas, para poder descargarlas desde casa. Cuál fue mi sorpresa, que buscando información sobre este aspecto me encontré con que el servicio central de informática (SCI) de la uma ya había reparado en concedernos tal privilegio. ¡Un punto para el SCI!

Como sabéis, las revistas electrónicas reconocen que la conexión se hace desde la universidad por la IP con la que te conectas, por tanto, tienes que estar conectado a la red de la uma para que la revista te reconozca como tal.

Para conectarte a un lugar remoto como si estuvieras allí mismo, existe un protocolo de conexión denominado VPN (Virtual Private Net) y es precisamente lo que nos ofrece la universidad.

Os dejo el tutorial que nos ofrece la uma, en esta página además podéis ver el resto de los servicios que quizás desconocierais.

Enlace: Tutorial para crear túnel VPN con la UMA.