Configurar servidor SMTP en WordPress para enviar correos verificados (sin plugin)

Update: 3-2-2017

Parece ser que en mejoras iniciales de la versión de PHP 5.6 esta verifica los certificados en conexiones SSL. Si la configuración SSL de tu servidor no es correcta o tiene un certificado sin verificar puedes obtener un error del tipo:

Para corregir esto hay que reemplazar el certificado inválido, mal configuraro o auto-firmado por uno bueno.
Si todo eso falla, puedes configurarle a PHPMailer (desde la 5.2.10) aceptar conexiones inseguras añadiendo a la función de mas abajo esta opción:

Evidentemente esto bajo tu seguridad y riesgo, lo mejor es tener un certificado en condiciones 🙂

Post original:


En muchas ocasiones me he encontrado que trabajando con hostings, en su mayoría compartidos, estos tienen bloqueado el envío de emails de cuentas no verificadas. WordPress acostumbra a enviar muchos de sus mensajes mediante una cuenta que no existe del tipo wordpress@tudominio.com, y algunos de estos servidores no permiten tal formula. Ya sea por mala configuración o por seguridad los mensajes parecen salir sin indicar que ha fallado el envío, y el destinatario no recibe nada. Configurar servidor SMTP en WordPress es muy fácil, os explico como hacerlo con y sin plugin.

Con plugin

Una forma simple para saltarse este problema sería la de instalar el plugin bastante conocido WP Mail SMTP, el cual te permite configurar una cuenta con su usuario, contraseña y las opciones de como se conecta y envia el mensaje. Mediante una nueva página en Ajustes del admin te permite entrar todos esos datos con un formulario de manera sencilla, y estos quedan almacenados en la base de datos.

Configurar servidor SMTP en WordPress sin plugin

Muchos serán los que piensen que la anterior es la opción sencilla, pero la forma más limpia para hacerlo y la que evita tener que añadir otro plugin más a tu WordPress es el siguiente código. Ya iréis notando que soy poco partidario de atiborrar a WordPress a plugins por cualquier cosa tan simple como añadir una función al código ya existente.

Solo tendrás que añadirlo al functions.php de tu theme y configurar las diferentes variables para que envíe correctamente con tu servidor.

Función para envío mediante SMTP

Y ya está, no tienes más que configurar el código a tus necesidades. Si tenéis algún problema no dudéis en dejar un comentario! 🙂
Post image is artwork from by Freepik

Obtener el primer y último día del mes en PHP

UPDATE

Desde la versión 5.2 o superior de PHP existe la clase DateTime que permite de una forma mucho mas sencilla conseguir el primero o el último día de un mes, simplemente haciendo una modificación al objeto de fecha creado como el siguiente ejemplo:


Pequeño aporte de un par de funciones que a mi me han dado solución en mas de un problema desarrollando con fechas en PHP. Se que se pueden mejorar, sois libres de hacerlo ya sea vía comentario o forkeando en Github.