Enviar emails mediante Drupal y PHPmailer
| abril 17, 2011 | Posted by laura under Programación |
El envío de emails en entornos de prueba y con servidores de email en local resultan sencillos de configurar si lo comparamos con un entorno de producción y teniendo un servidor SMTP externo. La dificultad sobretodo está en el momento en que no podemos acceder a la configuración de dicho servidor ni ponerlo como a nosotros nos gustaría.
El problema lo he encontrado a la hora de configurar el envío de correos electrónicos desde un Drupal ya instalado en el servidor del cliente y con pocas opciones de acceso a según que directorios. Estoy a la espera de que me solucionen un problema de conexión con el SMTP del mismo, pero lo he probado con el SMTP de GMail y funciona perfectamente. Os presento este último caso.
Recordamos los datos de conexión SMTP de GMail
host: smtp.gmail.com
puerto: 465
usar SSL
usuario: tuemail@gmail.com
contraseña: tuContraseñaEnGmail
¿Qué debemos tener instalado?
Opcional: Para poder enviar emails con HTML yo he instalado el módulo MIMEMail de Drupal.
- Librería de PHPMailer, necesitaremos extraer sobretodo las clases class.phpmailer.php y class.smtp.php.
- PHPMailer, el módulo de Drupal.
Para más información sobre la instalación y configuración de estas librerías y módulos podéis ver los archivos ‘README’ correspondientes.
- Extraemos la librería y el módulo de Drupal en una carpeta de nuestro ordenador.
- Dentro de la carpeta /phpmailer (correspondiente al módulo de Drupal) veremos que existe otra carpeta con el mismo nombre ‘phpmailer’.
Veréis que hay un archivo ‘COPYHERE.txt’, lo único que contiene son los archivos que debemos copiar en esta segunda carpeta. Una vez realizada la copia podemos eliminar el .txt. - Abrimos la carpeta de la librería que ya hemos descomprimido y buscamos las clases class.phpmailer.php y class.smtp.php . Las copiamos, y las enganchamos en la carpeta del módulo de paso 2 (/phpmailer/phpmailer).
- Mediante nuestro cliente de FTP, subimos la carpeta del módulo de Drupal con las clases de la librería incluidas en el directorio correspondiente (/modules).
¿Cómo se usa?
- Activamos el PHPMailer en el listado de Administración de módulos ( /admin/build/modules ). Una vez activado aparecerá un aviso que nos dice que debemos configurar el módulo; seguimos el enlace que nos aparece para configurarlo.
- En mi caso, el enlace me lleva a la configuración de MIMEMail que es el módulo que utilizo para enviar email con HTML. Desde allí mismo puedo configurar la conexión SMTP.
NOTA: He probado de tener instalado el módulo SMTP auth al mismo tiempo, y al final sólo acaba repitiendo la misma funcionalidad. No aporta ninguna configuración nueva, por lo que al final lo desinstalé. - En la configuración desde MIMEMail para el SMTP:
- Escogemos el motor para el Envío de emails: PHPMailer

- Configuramos el motor, probamos con los datos de conexión SMTP para una cuenta de GMail

- Introducimos los datos de autentificación del SMTP (en el caso de tenerlos)

- Configuramos las opciones avanzadas (opcional): tal como introducir un email válido para cuando el destinatario quiere responder al email que le hemos enviado, o habilitar los avisos en los logs (modo Developper de Drupal) en el caso de que se produzca un error en el envío del mail.
- Envíamos un email de prueba

El envío es casi inmediato
. Espero que os haya servido este mini-tutorial si teniáis problemas con el envío de emails con Drupal.
Por cierto, la versión de Drupal que suelo utilizar es la 6 aunque la 7 ya esté operativa. ¿Mi motivo? La mayoría de los módulos que me interesan aún no están preparados para la versión 7
.
Un saludo!
Comentarios recientes