Skip to main content

WordPress utiliza su propia función de correo electrónico para el envío de ellos la cual es llamada wp_mail().
La estructura para utilizar la función es la siguiente

wp_mail( $to, $subject, $message, $headers, $attachments );

Donde los parámetros a utilizar son:

  • $to (string|array) (Requerido): acá es posible agregar el email a donde se enviara el correo electrónico el cual puede ser una matriz o lista de multiples direcciones separada por comas (,).
  • $subject (string) (Requerido): asunto del correo.
  • $message (string) (Requerido): contenido del mensaje que se envía.
  • $headers (string|array) (Opcional): corresponden a elementos adicionales de un mensaje de correo como puede ser “FROM:” , “C.C:”, “CCO:” para especificar de donde procede el email, si se desea enviar con copia o copia oculta.
  • $attachments (string|array) (Opcional): aquí se ubicarían los archivos adjuntos.

Ejemplo de como utilizarla:

wp_mail(“[email protected]”, “Ejemplo función mail_wp()”, “Contenido del mensaje de wp_mail() de WordPress”);

Configurar un servidor SMTP en WordPress provocará que el envío de correo sea seguro y robusto.

Ventajas de utilizar SMTP

  • En las cabeceras del correo no quedan los datos del servidor donde está alojado el CMS.
  • Utilizar un servidor SMTP externo baja las probabilidades de que los emails sean etiquetados como correo no deseado.
  • Las entregas de los mails pasan a ser responsabilidad del servidor de correo externo.
  • Se evita cualquier tipo de restricción que tenga el hosting o VPS.
  • Se evita retrasos en la entrega de correos.

Configuración

En primer lugar, tenemos que tener en cuenta cómo vamos a proteger las credenciales del correo que vamos a utilizar. Es muy importante no dejar los datos sensibles al alcance de un ciberdelincuente (o al menos que sea mucho más complejo que los obtenga).
Para ello, el despliegue consta en dos archivos. Como primer punto, vamos a agregar todos los parámetros de configuración de nuestro servidor SMTP en el archivo wp-config.php.

/ **
* Establezca las siguientes constantes en wp-config.php
* Estos deben agregarse ANTES de la constante ABSPATH.
*
* Confirme también que el host a utilizar permite conexiones remotas.
*
* Para obtener instrucciones sobre el uso de este script, consulte:
* https://root-view.com
* /
/* Configuration SMTP Server */
define( 'SMTP_USER', '[email protected]' );
define( 'SMTP_PASS', 'My_strong_passwd' );
define( 'SMTP_PORT', '587' ); // Puede ser tambien el 25 o 465
define( 'SMTP_SECURE', 'tls' );
define( 'SMTP_AUTH', true );
define( 'SMTP_HOST', 'smtp.mail.com.ar' );
define( 'SMTP_FROM', '[email protected]' );
define( 'SMTP_FROM_NAME', 'User SMTP' );
define( 'SMTP_DEBUG', 0 ); // Para hacer un debug se necesita setear en 1 o 2

Luego, en el archivo functions.php es necesario agregar las variables que va a utilizar la función wp_mail.

/**
* Esta función conecta la funcion wp_mail a un
* Servidor SMTP. Esto mejora la confiabilidad de wp_mail.
*
* Para instrucciones sobre este script, visitar
* https://root-view.com
*
* Estos valores tienen que ser seteados en el archivo wp-config.php
*/
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_FROM_NAME;
}

Manejo de claves

Dependiendo qué servidor usemos para el envío de correos, va a ser necesario generar una clave de “aplicación” para configurarla en nuestro CMS. Por ejemplo, empresas como Google, Microsoft, etc. es necesario el uso de las mismas.

Creación de clave de aplicación en gmail

  1. Ir a la cuenta de google
  2. Seleccionar Seguridad.
  3. En “Iniciar sesión en Google”, seleccionar Contraseñas de aplicación. Es posible que tengas que iniciar sesión.
  4. En la parte inferior, elegir “Seleccionar aplicación” y elegir la aplicación que se va a utilizar. Luego “Seleccionar dispositivo” y elegir el dispositivo que vas a utilizar. Hacer click en “Generar”.
  5. Seguir las instrucciones para introducir la contraseña de aplicación. Esta contraseña es el código de 16 caracteres que aparece en una barra amarilla.

El contenido de este artículo esta bajo licencia Creative Commons.