17 feb 2014

Android 4.4 x86 (Kit Kat) para PC

Siempre he imaginado que el siguiente paso de Google será el generar un SO para integrar y sincronizar nuestro equipo de computo con nuestro equipo móvil (El cual ya existe y se llama ChromeOS, solo que aun no se comercializa masivamente), el equipo de Android-x86 ha ido mas allá y desde hace un tiempo han trabajado en la opción de correr Android directamente como sistema operativo en nuestras computadoras con plataformas x86 de Intel o AMD ya sea como LiveCD o instalándola en el disco duro.
Este pasado 14 de febrero este equipo nos regalo la versión Release Candidate (RC1) de Android 4.4 x86. 
Android 4.4 x86 se ofrece para descarga y uso gratuito en formato de imagen *.iso que como ya mencione puede grabarse en una unidad óptica o pendrive USB, funcionando como Live CD o para instalarse en unidad de almacenamiento interno en equipos como netbooks u otros PCs.
Pueden checar mas datos acerca del proyecto en: Android-x86 o descargar en: Sourceforge

3 feb 2014

Blat: envio de email desde la consola (Windows)



Blat es una biblioteca OpenSource y una utilidad para la linea de comandos de Windows la cual permite enviar correo electrónico. Para usar blat es necesario tener acceso a un servidor SMTP vía TCP/IP.

El paquete que se distribuye en sourceforge contiene 2 carpetas: docs y full. Dentro de docs se encuentra la documentación y el historial de las versiones. Dentro de full se tienen los archivos:
  • blat.dll   - Biblioteca de enlace dinámico, para usar blat desde C o C++.
  • blat.exe - Programa para linea de comandos para envío de correo electrónico.
  • blat.lib   - Biblioteca estática, para enlazar a la dinámica.
  • blatdll.h - Archivo cabecera para incluir en los proyectos de C o C++.
Usando blat
Para utilizar blat debemos ubicarnos usando la consola en el directorio donde esta el archivo blat.exe, o bien, por comodidad, debemos copiar el archivo blat.exe a alguna carpeta listada en el PATH (C:/Windows/System32 por conveniencia). Una vez hecha cualquiera de las opciones anteriores podremos acceder al programa desde la consola usando el comando: 

blat "parametros"

La lista completa de parámetros que podemos emplear viene en el archivo docs/syntax.txt o se puede consultar en linea.

Para que quede claro veamos un ejemplo, usando el correo: manuel@empresa.com usaríamos los siguientes datos:
  • Dominio: empresa.com
  • Servidor: smtp.empresa.com
  • Puerto: 225 (Puede cambiar)
  • Cuenta: manuel@empresa.com
  • Usuario: manuel (En ocasiones el usuario es el correo completo manuel@empresa.com)
  • Pasword: password  
 Por lo que ejecutaríamos desde linea de comandos:

blat -q -f manuel@empresa.com -server smtp.empresa.com -u manuel -pu password -subject "Correo de Prueba" -body "Este es una prueba de envio de correo"

Perfiles Blat.


Una opción que puede resultar útil (para reducir el tamaño del comando) es la de los perfiles. Un perfil nos permite usar el programa blat configurando uno o mas correos para el envío. Para usar esta opción es necesario copiar el archivo blat.exe a alguna carpeta listada en el PATH (C:/Windows/System32 por conveniencia). Para crear un perfil utilizamos el comando:

blat -install smtp.empresa.com manuel@empresa.com  3 225 - manuel password
Donde los parámetros en negrita indican: 
  • El numero de intentos de envío (por default 1)
  • El puerto (por default 25)
  • El indice del perfil (en este caso se indica con el '-' que se usara el numero de perfiles por default: 1).

Una vez configurado el perfil podemos enviar correos usando el siguiente comando:
blat correo.txt -t destinatario@dominio.com -s "Hola"
En esta ocasión emplee correo.txt en lugar de -body "Contenido del mensaje". De esta forma se envía como cuerpo del mensaje el contenido del archivo de texto, esto es muy útil si lo que se desea enviar es contenido HTML o algún texto que incluye comillas (ya que estas "truncan" el comando, produciendo errores en el envío). El parámetro -t indica el destinatario y -s es el asunto del mensaje enviado.
Otros parámetros para tener en cuenta.
Blat incluye un modo debug, el cual permite conocer el status del envío, de este modo en caso de haber algún error en el envío podremos corregirlo. 
blat correo.txt -t destinatario@dominio.com -s "Hola" -debug
Podemos almacenar en un archivo de texto (log) la información de los envíos.
blat correo.txt -t destinatario@dominio.com -s "Hola" -log logfile.log
Para enviar archivos adjuntos empleamos el parámetro -attach  seguido del o los archivos adjuntos, separados por comas:
blat correo.txt -t destinatario@dominio.com -s "Hola" -attach "file.txt,f2.txt"
Por ultimo añadiendo el parámetro -q suprimimos cualquier salida de texto en la consola.
blat correo.txt -t destinatario@dominio.com -s "Hola" -q

Este seria una explicación muy básica del blat, la cual es una herramienta muy útil si se combina con scripts batch o con otros lenguajes para automatizar tareas que requieran del envío de correo electrónicoPersonalmente la emplee para envío de CFD's (un par de archivos *.xml y *.pdf) en un programa de facturación digital.
Espero a alguien le sea de utilidad, para mayor información les recomiendo la lectura de la documentación.