A Django site.
Marzo 8, 2009

Boris Quiroz
cereal_bars
wreeeeoooowww trata sobre »
» Hacking Gutuma

Hace un mes y algo, escribí este post sobre phpmailer y un requerimiento de un cliente. En ese post, dejé en claro lo picante de la “solución” implementada. Hace un tiempo se implementó a este cliente algo un poco mas “producido”: Gutuma, esto es un CMS diseñado para enviar newsletters. Está bien bueno, el problema es que el mail de este cliente lo maneja Gmail con eso de Google Apps y por esas cosas de la vida Gutuma no andaba ni para atrás con la conexión SSL a Gmail.

Me di vuelta internet buscando la forma de solucionar el problema y la verdad es que no encontre nada :-( Asi que no se me ocurrió nada mejor que abrir el archivo mailer.php de Gutuma y modificar a la mala las lineas que hacen referencia al servidor y el puerto.

Por default estas lineas dicen:

$smtp_server = isset($smtp_server) \n
? $smtp_server : gu_config::get('smtp_server');
$smtp_port = isset($smtp_port) ? \n
(int)$smtp_port : (int)gu_config::get('smtp_port');

Yo las dejé así:

$smtp_server = "ssl://smtp.gmail.com";
$smtp_port = 465;

Ahora salen correos usando una cuenta Gmail o cualquier cuenta manejada por Google Apps.

Enero 23, 2009

Boris Quiroz
cereal_bars
wreeeeoooowww trata sobre »
» Jugando con Phpmailer

Hace un tiempo, un cliente me pidio configurar un servidor de correos que sería usado solo para enviar un newsletter diario a sus usuarios, aproximadamente 20.000/dia. Para esto, el tipo usaba un programita windozo que modificaba las cabeceras para el culo mal! Le ofrecí varias alternativas para que no siguiera cometiendo tal crimen. Mailman era una de las opciones que le dí, pero le gustó mas la idea del phpmailer.

Por default está “aplicación” agrega todas las dirección al campo TO. Imaginese lo que paso cuando mandaron el primer correo (que fue de prueba) a 12 cuentas diferentes. Sí, llegaron todas las direcciones en ese campo. Ahora… Qué pasaría si se mandan los 20.000 correos todos de una? No quise ni pensarlo, asi que busque una solución (que personalmente no me parece la mejor, pero al menos salimos del problema): Agregar las direcciones al campo BCC de la siguiente forma:

En el archivo de configuración hay una linea que dice:

$mail->AddAddress("foo@bar.com");

Esa es la linea que define a quién le llegará el correo. Eso es lo que pone el e TO, pero con la siguiente modificación mandamos la dirección al campo BCC:

$mail->AddBCC("foo@bar.com");

Ojalá a alguien le sirva alguna vez. Obviamente si alguno tiene experiencia en phpmailer que me avise, asi vamos mejorando esta funcionalidad.

Este tip se va a la sección de tips!