Peculiaridades de Drupal y MTA
En la guerra de CMS's el que más me ha convencido últimamente ha sido Drupal (marginemos rCMS de momento, está un poco congelado). Aunque hay opiniones para todos los gustos y estoy de acuerdo que se tarda más en montar y configurar este gestor de contenidos de lo que se tarda en usarlo finalmente.
Las actualizaciones normalmente son un quebradero de cabeza para el administrador, no siendo Drupal la excepción que cumple la regla. Hace relativamente poco he tenido que actualizar una web con este gestor y se me había olvidado cómo había hecho para usar un MTA externo en los registros de usuarios nuevos... Para que esto no vuelva a ocurrir y no tener que buscar de nuevo la información necesaria, dejaré esta anotación:
1.- Después de actualizar sitio, base de datos y módulos, la base de este hack se encuentra en la carpeta includes/, vamos hasta allí y:
# wget http://drupal.org/files/issues/phpmailer.zip
# unzip phpmailer.zip
phpmailer.inc
readme.txt
#
2.- Ahora que tenemos nuestro include de phpmailer solo nos falta la clase php, en el mismo directorio:
# wget http://nchc.dl.sourceforge.net/sourceforge/phpmailer/phpmailer-1.72.tar.gz
# tar xfvz phpmailer-1.72.tar.gz
phpmailer/...
#
3.- Dentro del directorio phpmailer/ (osea includes/phpmailer/ desde el raíz) se ubica la clase php que enviará correos sirviéndose de un MTA externo en cada evento del módulo user.module (nuevo registro, recordatorio de contraseña...). Para que dicho módulo (modules/user.module) use nuestra nueva librería phpmailer sólo hemos de indicárselo en el archivo de configuración (antes includes/conf.php ahora sites/default/settings.php) del siguiente modo:
$conf["smtp_library"] = "includes/smtp.inc";
4.- Configuramos los valores del MTA externo que usaremos para dirigir el flujo saliente de correo, en el archivo includes/phpmailer.inc:
$mailer->Host = "smtp.server.com"; // SMTP server
$mailer->SMTPAuth = TRUE; // turn on SMTP authentication
$mailer->Username = 'username'; // SMTP username
$mailer->Password = 'password'; // SMTP password
Creo que no queda nada en el tintero, de todas formas sigo pensando que para ciertas cosas mejor un HandMade CMS y no andar con estas guarrerías.