Revisar la cola de Sendmail

Hola Mundo:

Sendmail, o cualquier servidor de smtp, es indispensable para cualquier CMS web. Me atrevería a decir que todos los sistemas de administración de contenido hacen uso del servidor smtp para el envío de correos.

Todos los servidores SMTP manejan una cola de correos. Esta cola se utiliza cuando el servidor no puede enviar el mensaje y lo deja en un lugar para intentar enviarlo de nuevo. Si no puede enviarlo, envía un correo de rebote.

La cola se limpia después de un tiempo para que no se sigan utilizando recursos de sistema en enviar un correo que, probablemente, nunca salga. Otro motivo de la autolimpieza, es que hay que ahorrar espacio en disco para otros mensajes en cola.

Para revisar la cola de mensajes salientes de sendmail, hay que ejecutar en la consola:

mailq

Si la cola está vacía, mostrará algo así:

user@box:~$ mailq
MSP Queue status…
/var/spool/mqueue-client is empty
Total requests: 0
MTA Queue status…
/var/spool/mqueue is empty
Total requests: 0
user@box:~$

Si están usando sendmail, también pueden revisar la cola con

sendmail -bp

Como ven, la mía está vacía.

Chau!

Enviar correos desde PHP sobre Ubuntu

Hola Mundo:

Por fin puedo publicar algo por acá. Estaba muy ocupado por temas de estudios y trabajo, lo cual es muy bueno.

Hoy les escribiré sobre algo bastante recurrente en las instalaciones caseras de LAMP (Linux, Apache, MySQL y PHP) y es algo que es simple de solucionar, cuando se cuenta con algunas herramientas.

El problema está en que cuando se hace una instalación de este estilo, PHP no es capaz de enviar mails a través de la funcion mail() y el log de errores queda completo con errores por esta función. El síntoma es claro: PHP no envía mails.

Esto ocurre cuando un servidor smtp (Simple Mail Transfer Protocol) no se encuenta instalado y/o la ruta no se encuentra definida en el archivo php.ini (Por lo menos la ruta de php.ini en Ubuntu Server es /etc/php5/apache2/php.ini)

Para instalar sendmail en Debian y derivados:

apt-get install sendmail

Una vez que está instalado, abrir el archivo php.ini y buscar la linea

;sendmail_path =

y cambiarla por

sendmail_path = /usr/sbin/sendmail -t -i

Luego reiniciar el servicio de apache2 y funcionará.

Saludos!