martes, 21 de abril de 2009

Enviar correo electrónico desde Drupal sobre Linux

Complicado el envío de mensajes desde Drupal; supuestamente no hay que hacer nada, en teoría es cierto, pero a mí no me funcionaba ya que cada vez que enviaba un correo desde el formulario de "Contacto" que proporciona Drupal, no me funcionaba para nada. El error que aparecía era simplemente que "no se pudo envíar su mensaje de correo electrónico".

¿Soluciones?

- Empecé como siempre googleando un poco, jaja!
- El primer paso fue resetear el servidor Apache:

>sudo /etc/init.d/apache2 restart

- Eso no funcionó. Entonces procedí a trabajar sobre php.ini:

>sudo gedit /etc/php5/apache2/php.ini

Buscar donde dice [mail function], y las siguiente líneas tienen que estar
activas; es decir que NO estén como comentarios:

SMTP = localhost
smtp_port = 25

Si se desea usar como servidor de correo por ejemplo a racsa, entonces
cambiar localhost por smtp.racsa.co.cr luego reiniciar el servidor Apache.

Lo anterior funcionó pero observé que el envío de mensajes es muy lento, entonces decidí instalar el módulo PHPMailer. En el readme.txt se indica que hay que descargar además dos archivos extras de SourceForge (lean dicho archivo). Posteriormente instalar el módulo en Drupal de la forma tradicional.

Luego ir a la configuración Mail la cual se puede encontrar en:

http://localhost/Demo/admin/settings/phpmailer

Activar donde dice "Use PHPMailer for sending e-mails"

En esa página se configura también el SMTP primario que puede ser localhost o poner el SMTP de RACSA (smtp.racsa.co.cr). El puerto se deja en 25.

Advertencia: Si se usa RACSA o cualquier otro servicio que no sea local, lo más probable es que se tenga que digitar el login y password (hay un lugar para eso en la página), de lo contrario el mensaje no se enviará o si se enviará pero aparecerá un posible error en la página.

Si se usa localhost entonces no completar el login ni password. Después de salvar todo, ya es posible enviar los mensajes de correo un poco más rápido.

No hay comentarios: