¿ Una firma aleatoria para cada correo enviado ?

Tema: 

¿ Aburrido de la misma firma cada vez que envias un correo a alguien ?
Que mejor que hechar la mano de las funcionalidades de tu programa de correo, y por su puesto de un script de bash.
A continuacion les cuento mi experiencia con el programa de correo sylpheed, y usando mis conocimientos medios de "programacion" de scripts de bash.



Antes que nada, deben bajarse la ultima version del sylpheed, la 0.8.11.
Si usan otro programa de correo debera tener disponible, la opcion de generar una firma de correo atravez de la salida de un comado, aunque al final describire un proceso igual de valido para generar la firma sin la necesidad de esta opcion.
En sylpheed se accede a esta opcion atravez de los menus : configuracion -> editar cuentas, elegimos la cuenta y la editamos, en la lengueta componer, escogemos la opcion salida de comando, y ponemos el comando que mas adelante explico.

1) En nuestro programa de correo, se cual sea buscamos la opcion para generar la firma atravez de la salida de un comando. Ponemos como comando lo siguiente: $HOME/mkfirm.sh

2) Creamos susodicho archivo/script con el editor de texto que sea de su agrado, caso particular : vim. Con las siguientes lineas :

------------cut here-------------begin
#!/bin/sh
#v0.1
#

cd $HOME
rm -f .signature
touch .signature
cat .base_signature > .signature
echo -e "\n$(fortune -s frases)\n" >> .signature
echo "$(cat .signature)"
------------cut here-------------end

donde .signature debe existir y estar vacio, mientras
que el .base_signature contendria la base de la firma,
por ejemplo, nuestro nombre o datos personales...
mi .base_signature por ej:

KeNsHiNX

http://barrapunto.com/index.pl?section=mbp-kenshinx

Como se deben dar cuenta lo unico que hace el script es crear el archivo .signature, poner el contenido del .base_signature en la parte superior del archivo .signature y a continuacion despues de un salto de linea poner la firma aleatorio con la ayuda de un viejo conocido como es fortune.

3) Antes de hechar andar todo esto,debemos tener creada una base de datos de nuestras firmas para que la use fortune, este paso no es nada de otro mundo conociendo el formato de los archivos de fortune, esto es en cualquier archivo de texto plano al que lo nombramos como sea nuestro gusto ( frases, ideas, mind,etc.), ponemos una frase y luego de un salto de linea (enter), el signo %. un ej:

Los monos son demasiado buenos para que el hombre pueda descender de ellos.
-- Friedrich Wilhelm Nietzsche
%
El hombre, en su orgullo, creó a Dios a su imagen y semejanza.
-- Friedrich Wilhelm Nietzsche
%
La moda es la manada; lo interesante es hacer lo que a uno le de la gana.
-- Luis Buñuel

luego creamos la base de datos en si con:

strfile -ro nombre_del_archivo

este generara un archivo con extension dat del mismo
nombre que el de texto plano. Luego copiamos estos
dos archivos a la carpeta de frases de fortune, en slackware es /usr/games/lib/fortunes. En otras distribuciones bastara con buscar la carpeta.

Eso es todo, cada vez que enviemos un correo se generara aleatoriamente una firma diferente.

*) Como dije antes si no disponemos de la opcion antes mencionada en el programa de correo, podremos
usar este script :

----------cut here------------begin
#!/bin/sh
#v0.1
#

function intervalo()
{
MIN=$1
SEG=60
EMAIL_CLIENT=sylpheed

let INTERVALO_T=$MIN*$SEG

while /sbin/pidof $EMAIL_CLIENT
do
sleep $INTERVALO_T;
hacer_firma;
done
echo -e "\nCliente de Correo no esta activo\n"
}

function hacer_firma()
{
rm -f .signature
touch .signature
cat .base_signature > .signature
echo -e "\n$(fortune -s frases)\n" >> .signature
}

if [ "$#" = 0 ]; then
echo -e "\nFaltan argumentos\n"
echo "USO: $0 [ INTERVALO DE TIEMPO ]"
echo "Este programa crea firmas al azar \
cada cierto intervalo determindado mientras
el cliente de correo es usado."
else
intervalo $1;
fi
----------cut here------------------end

debemos setear la variable EMAIL_CLIENT dentro del
script con el nombre del ejecutable de nuestro programa de correo.

A diferencia del proceso anterior aqui solo corremos
este script con los argumentos adecuados y generara
la firma aleatoria cada cierto intervalo de tiempo dentro del archivo .signature, archivo que debemos especificar en el cliente de correo como nuestra firma.
Opcion disponible en la mayoria de clientes.

Espero que les haya gustado, es algo largo asi
como el tiempo que no escribia una noticia o articulo para ecualug, razones muchas como que me estoy
estudiando una carrera de ingenieria electronica.

Saludos, y que viva el soft libre y los O.S Abiertos y Libres.