2006-10-27

Xpertmailer - Correos verdaderos con php

Hace un tiempo me ví obligado a mandar boletines de correo, como ya os he explicado en anteriores "post". Una de las cosas a las que me tuve que enfrentar era a evitar los filtros anti-spam. SI tenéis alguna cuenta con hotmail y estáis suscritos a algún por tal muchas veces os habrán dicho ( los de microsoft) que el remitente no está autentificado o que le falta el "id" de identificación. Este problema suele pasar si mandas los correos simplenmente con php o asp con las funciones habilitadas al efecto. Encontré muy poca literatura al respecto, por lo que me pusé a a mirar e indagar en la web a ver si se me ocurría algo. Enseguida ví que parecía bastante lógico evitar este problema si te conectabas al servidor por smtp e ibas enviando correos como si hubiera una mano humana detrás.

Después de esta idea me puse a buscar como implementarlo y encontré la clase xpertmailer escrita en php que respondía a todas mis dudas y además parecía muy fácil de configurar.

Como ellos mismos dicen:

XPertMailer is a SMTP & POP3 PHP Mail Client that you can use to send and read e-mails in MIME format (text, HTML, HTML embedded images, attachments) towards a localhost, client or relay SMTP servers with optional autentication and TLS/SSL support. Cc and Bcc functionality are included.


Muy recomendable si os gusta enviar boletines a troche y moche.

2006-10-21

Keyword Selector Tool

Una herramienta de Overture... dándole una palabra nos indica las búsquedas realizadas en su buscador en el último mes y búsquedas que contengan esa palabra... bastante interesante para investigar keywords.

http://inventory.overture.com/d/searchinventory/suggestion/

2006-10-20

Herramientas sobre los dominios





Estas dos herramientas ofrecen características muy interesantes.

En Domain tools la que más suelo utilizar es una que denominan Reverse Ip. Esta herramienta dado un dominio, te enumera la lista de dominios que se albergan en el mismo servidor. Es muy útil cuando necesitas investigar con que compañía tiene contratado el hosting una determinada empresa.


En domjax dispone de herramientas que ya están en otros lugares, como validacion html y AAA y las combina con la "rápida" contratación del dominio elegido.

2006-10-18

Cambiar el formato de fecha

Para nosotros que tenemos el formato distinto a los anglosajones a veces podemos tener verdaderos problemas a la hora de trabajar con bases de datos en inglés y datos en castellano.

Volviendo a mi post anterior, dentro de los registros que tenía que insertar en la base de datos se encontraba un campo fecha y había que pasarlo al formato de fecha que acepta MYSQL.

Para realizar esta tarea, he pensado en hacerlo con las tan recurrentes expresiones regulares.

El formato original sería así:

dd/mm/aaaa

y el formato que queremos obtener:

aaaa-mm-dd

Lo que he hecho es encontrar una regla que me cuadre con el formato:

(\d\d)/(\d\d)/(\d\d\d\d)

Cuando utilizas expresiones regulares, puedes utilizar los paréntesis. Lo que hay dentro puede ser reutilizable. De esta forma colocando entre paréntesis los distintos campos de la fecha, puedo luego cambiarlos de posición.
La barra seguida de la d, \d simplemente indica la presencia de un número entre 0 y 9.

Ahora lo que quiero es sustituir cada vez que encuentra una fecha por el otro formato:

$3-$2-$1

Al colocar el símbolo del dolar seguido del número de bloque indicamos donde queremos que ponga cada campo de la fecha. Los guiones simplemente indican el separador.

Está comprobado su correcto funcionamiento en el Pspad, pero por alguna razón que desconozco no funciona en el editplus.

Como siempre, las expresiones regulares nos sacan de grandes apuros.

Importar muchos registros desde mysql - Heidisql

Heidi Sql
Recientemente he tenido que trabajar en una base de datos con cerca de 1 millón de registros.Normalmente realizaba la inserción de registros con palabra clave Sql INSERT. Pero esto, a priori, parecía demasiado engorroso para trabajar con tantos registros.

En la base de datos contaba con Phpmyadmin, pero al ir a importar me decía que el tamaño máximo del archuivo csv a importar era de unos 9 kb... obviamente insuficiente.

No me quedaba más remedio que a cceder a la base de datos, repasar mis antiguos conocimientos y estar un buen rato leyendo documentación.

Las órdenes mysql serían similares a las siguientes:

mysqlimport --fields-terminated-by=,
--fields-optionally-enclosed-by=\"
--lines-terminated-by=\n
--host=
--user=
--password=
datos csv.csv
datos.csv: Records:


Pero encontré un front-end para mysql muy sencillo de manejar que me evita pelearme con la consola.

Se trata de HeidiSql
. Una excelente herramienta de trabajo. Productiva casi desde el primer momento y muy rápida en subir los miles de registros ( igual que la consola).

Se ha convertido en una herramienta más de las que tener un enlace en el escritorio sin que cuelgue el sistema.

2006-10-17

Cajas en css

cajas en css

A veces surgen problemas al maquetar estructuras de cajas en css. Hay muchas soluciones al respecto. Os voy a poner una de la más sencillas que suelo colocar en las webs en las que trabajo.

Primero en el código HTML pondremos tantos div como cajas queramos. Los identificaremos con el <div class="cajas"></div>. Después en la correspondiente hoja de estilos les asignaremos sus respectivas propiedades:

.cajas{
float:left;
display:inline;
background-color:#f51c1c;
width:140px;
height:140px;
margin-right:10px;
}

Primero le decimos que la caja flote hacia la izquierda y después le decimos que no genere un retorno de carro con el display inline. De esa forma, las cajas que vienen después se colocaran en la misma lína. Siempre que por su anchura quepan en el contenedor padre.

2006-10-06

Eliminar tildes con php

No suelo tener problemas con las tildes y elementos extraños, Alguna vez cuando son entradas a una base de datos. Cuando es así, utilizo htmlentities y sale el código asociado a ese caracter. Pero si queréis de verdad eliminar las tildes, con php se puede realizar una sencillita función que lea la cadena y que sustituya esos elementos extraños por sus más normalitos.

Esta función la he visto en algo que decir:

function limpiar_acentos($s)
{
$s = ereg_replace(”[áàâãª]”,”a”,$s);
$s = ereg_replace(”[ÁÀÂÃ]”,”A”,$s);
$s = ereg_replace(”[ÍÌÎ]”,”I”,$s);
$s = ereg_replace(”[íìî]”,”i”,$s);
$s = ereg_replace(”[éèê]”,”e”,$s);
$s = ereg_replace(”[ÉÈÊ]”,”E”,$s);
$s = ereg_replace(”[óòôõº]”,”o”,$s);
$s = ereg_replace(”[ÓÒÔÕ]”,”O”,$s);
$s = ereg_replace(”[úùû]”,”u”,$s);
$s = ereg_replace(”[ÚÙÛ]”,”U”,$s);
$s = str_replace(”ç”,”c”,$s);
$s = str_replace(”Ç”,”C”,$s);
$s = str_replace(”[ñ]”,”n”,$s);
$s = str_replace(”[Ñ]”,”N”,$s);

return $s;
}

Espero que le sirva a alguien...

2006-10-04

Soporte de css en los boletines de correo

css en Gmail,Hotmail y Yahoo

Antes del verano estuve optimizando el envio de boletines. No sólo controlé que se viera bien en outlook, en thunderbird, en the bat y en los más típicos clientes de correo como Hotmail, Yahoo y Gmail. También controlé correos mas "raritos" como los de ozu, wanadoo y sus variantes, mixmail,latinmail y otros que ya no recuerdo.

El resultado fué que siempre había alguno ( de los raritos que no recuerdo sobretodo) en los que se veía fatal. Lo que ví es que no acdeptaba la mayoría de instrucciones css , por no decir la totalidad.

Al final opté por realizar la maquetación con tablas y con imágenes. Simplificando el diseño para no cargar demasiado el boletín. De esta forma la presentación era óptima en todos los correos.

Queda muy mal recibir un correo en el que no se vea nada. Así que por ahora seguiré maquetando de esa forma.

En campaignmonitor han elaborado un interesante estudio sobre la aceptación de la tecnología en css en diversos tipos de correos. Entre ellos los más importantes.

Espero que dentro de poco tenga que maquetar con divs. Ya se me está olvidando lo de las tablas.