Postfix Recipient BCC Maps

Hace poco revisando y retomando algo de configuración de un servidor de correo (con postfix), estaba probando la forma de poder realizar un forward de un correo pero dejado una copia del correo al usuario origen.  Todos sabemos que para realizar este proceso se necesita de un usuario origen y un destino básicamente. Actualmente se trabaja con mysql para almacenar a los usuarios y dominios; ademas de una tabla en donde se configura el forward, pero resulta que cuando se realiza este proceso (forward) nunca queda el correo para el usuario origen o por lo menos no he logrado configurar eso hasta el día de hoy en donde estuve revisando información acerca de la propiedad recipient_bcc_maps que provee postfix.

Básicamente tiene la misma estructura que para un forward; para eso crearemos un archivo al cual llamaremos recipient_bcc dentro de la ruta /etc/postfix (esto dependera de casa uno) y dentro de este colocaremos lo siguiente:

# recipient_bcc - nachxs
usuario_01@dominio01.com  usuario_02@dominio02.com
...

En donde usuario_01 seria el origen y usuario_02 el destino, es decir que cada vez que le llegue un correo al usuario usuario_01, automáticamente se enviara un copia al usuario usuario_02.

Una vez creado el archivo con el contenido que ustedes definan utilizaremos el siguiente comando para poder generar un archivo que pueda ser leido por postfix:

postmap /etc/postfix/recipient_bcc

Este comando debería devolver el archivo recipient_bcc.db, entonces ahora solo nos quedaria leerlo desde postfix y para esto agregaremos lo siguiente en el archivo de configuración main.cf, en mi caso en la ruta /etc/postfix/main.cf

...
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
...

y listo, ahora solo nos quedaría reiniciar el servicio y probar. Si alguien puede compartir alguna otra manera de poder realizar un forward dejando una copia en el origen seria genial.

Oracle compra Sun

Quizas esta sea una de las noticias mas relevantes en estos dias y por que no decir de este año hasta el momento, debido a que uno de los grandes de la tecnologia como Oracle compra a otro grande como lo es Sun Microsystems; quizas a muchos de nosotros, los que usamos Java como una de nuestras herramienta de trabajo nos preguntamos, que nos deparara de aqui en adelante? que tan beneficioso sera esto para el software libre?, que pasara con los productos promovidos por Sun Microsystems, tales como Netbeans, MySQL (el que a mi parecer es el mas afectado posiblemente), Glassfish, etc. Como sabemos Oracle es una organizacion netamente comercial, y posiblemente mas adelante quien sabe Java o algun otro producto mencionado tenga fines mas comerciales, quizas varios concuerden conmigo al decir que IBM talves hubiera sido una mejor opción,  por el mismo hecho de que IBM contribuia de alguna manera con el desarrollo de java. No cabe duda que OpenSolaris posiblemente sea una de los productos que mas se beneficiaria y fortaleceria con esta compra, dado que Oracle, despliega sus productos en sistemas basados en Solaris y obviamente habra mejoras. Tampoco quiero decir que esto sea malo, si esto se da esperemos que la cultura de Sun Microsystems se de  forma positiva ante Oracle y que el desarrollo de estos productos continúe.

zot_sun_s_oracle_b

Configurando Xplanner

Hace poco trabajando en mi tesis, me vi en la necesidad de utilizar alguna herramienta para poder plasmar el uso de la metodologia que estoy utilizando, me refiero a la metodologia XP (Programacion Extrema). Estuve buscando por la red y me tope con xplanner, que segun lo indicado en su pagina, es una herramienta diseñada especificamente para trabajar con este tipo de metodologias, llevandote un control de todo tu proyecto ya sea con iteraciones, historias de usuarios, etc. Esta hecha en JSP y trabaja con Tomcat, MySQL o PostgreSQL.

Configurarla quizas sea algo tedioso para lo que no conocen este tema, pero hay un paquete en el cual ya viene configurado todo por defecto y tan solo con ejecutar un script se estaria levantando el servicio, lo unico que tendrias que hacer seria crear un variable de entorno con el nombre JAVA_HOME e indicarle la ruta de tu jdk, OJO que yo estuve probando con el jdk6 y aparentemente se tiene alguno problemillas, cosa que no pasa con el jdk 5 o jdk 1.4.Una vez ejecutado el servicio lo unico tendriamos que hacer es cargar nuestro navegador favorito (en mi caso Firefox :)) y colocar la siguiente direccion: http://localhost:7070/ y listo, tedriamos ya la interfaz de logueo, el usuario seria sysadmin y el password admin
Ahora para poder utilizar otros gestores de base de datos, tendriamos que adaptarlo, segun la necesidad, en los archivos de configuracion, cosa que mostrare en el proximo post.

xplanner

mb2md: Mailbox a Maildir

Hace poco realize la migracion de algunas cuentas de usuario de correo, que se validaban en el sistema a una base de datos, en este caso mysql. Los buzones que manejaban estos usuarios eran del tipo mailbox y resulta que en el transcurso de este proceso me fue necesario migrar estos buzones al tipo maildir; me puse ha buscar algunas herrramientas que permitan realizar este proceso de manera optima y me tope con mb2md una pequeña aplicación que realiza el cambio de forma rápida y eficiente y la verdad me fue de mucha utilidad. La forma básica de usarla es:

$ mb2md -s path_mailbox -d path_maildir

donde: s = origen y d = destino

Ahora, para realizar yo este trabajo de manera mas rapida y no estar realizando este proceso para cada buzon realize un pequeño script en python el cual lee los usuarios desde el archivo /etc/passwd y luego verifica si existe el mailbox de este. Aqui lo propongo espero les sea de utilidad para alguno.

mb2md

Tipos de Datos: PostgreSQL y MySQL

Desde que decidi utilizar PostgreSQL como gestor de base de datos, me tome el trabajo de ir poco a poco migrando varias de mis pequeñas aplicaciones que las tenias desarrolladas utilizando como gestor a MySQL y bueno como entenderan se me presentaron algunos inconvenientes en la compatibilidad en los tipos de datos. Para eso realize una pequeña tablita en base ha informacion que estube revisando por la web, con los tipos de datos que podriamos utilizar en comparacion uno a otro.

TIPOS DE DATOS
MySQL PostgreSQL
bigint bigint
double, decimal, float numeric
int, mediumint integer
smallint, tinyint smallint
char character
varchar, enum, set character varying
longtext, mediumtext, text, tinytext text
tinyblob, blob, mediumblob, longblob bytea
datetime, timestamp timestamp
time, date, year date