WordPress para el desarrollo de aplicaciones web correo electrónico

Uno de los componentes principales de cada aplicación web es su capacidad para enviar correo electrónico.

Ahora, esto no significa que cada aplicación web sea su propio cliente de correo (aunque la gente sí crea el suyo propio).

En cambio, me refiero a que las aplicaciones normalmente envían correos electrónicos cuando un usuario se registra, un usuario modifica su contraseña, cuando algo cambia en el sistema o, en términos más generales, cuando ocurre algo por lo que los propietarios del sitio desean notificar a los usuarios..

Hasta ahora en esta serie, hemos cubierto:

  • Gestión de usuarios
  • Permisos
  • Gestion de sesion

El último artículo fue posiblemente uno de los más complicados que cubriremos; Sin embargo, es necesario para aquellos de ustedes que buscan agregar una funcionalidad más avanzada a sus proyectos..

Dicho esto, tomaremos un descanso de algunos de los materiales más complicados y echaremos un vistazo y lo que WordPress tiene para ofrecer en lo que respecta al envío de correos electrónicos..


Entendiendo el correo electrónico

Antes de sumergirnos en lo que ofrece la API de WordPress en cuanto a enviar correos electrónicos, personalizar correos electrónicos y demás, es importante comprender un par de cosas sobre el correo electrónico..

Es decir, es importante comprender los componentes que forman parte de la creación de un correo electrónico real; después de todo, es más que una dirección, asunto y contenido..

Hay algunos matices técnicos que vale la pena entender antes de comenzar a crear nuestros propios correos electrónicos personalizados..

Encabezados

En resumen, los encabezados de correo electrónico contienen un conjunto mínimo de información que incluye: desde dónde se envía el correo electrónico y las direcciones a las que se envía el correo electrónico..

Por lo general, es probable que vea información adicional incluida en el encabezado. Por ejemplo, esta información puede incluir una marca de tiempo para cuando se envía el correo electrónico.

Cuando se trata de WordPress, el remitente especificado en el encabezado del correo electrónico siempre se define como el remitente predeterminado en WordPress, a menos que se especifique lo contrario..

Por ejemplo, si está buscando establecer la dirección de respuesta como "[email protected]", entonces esto es algo que tienes que personalizar.

Además, generalmente es una buena idea trabajar con encabezados de correo electrónico en forma de una matriz para que pueda construir, especificar y pasar fácilmente a direcciones, direcciones de copia de carbón y destinatarios de copia de carbón oculta.

Tipo MIME

Cuando se trata del formato que siguen los correos electrónicos, es probable que vea dos formularios:

  • Texto sin formato
  • HTML

Estás acostumbrado a ver HTML en la mayoría de los clientes de correo electrónico modernos; sin embargo, si tiene un cliente más simple, lo tiene configurado para mostrar solo texto sin formato, o si está leyendo el correo electrónico en un teléfono un poco más antiguo, entonces estará leyendo el contenido en texto sin formato.

WordPress hace posible enviar correos electrónicos en texto plano o HTML.

Cuando veamos un ejemplo de cómo enviar un correo electrónico mediante programación, analizaremos exactamente cómo hacerlo. En resumen, hay un gancho que lo hace realmente fácil, pero esperaremos a verlo en acción hasta que cubramos el resto de las partes necesarias de un correo electrónico..

Archivos adjuntos

Como saben, los archivos adjuntos son prácticamente cualquier archivo que ha adjuntado a un correo electrónico y que envía a un destinatario.

La cuestión es que hay algunas reglas que gobiernan el correo electrónico, aunque no están necesariamente establecidas por el software. En cambio, los servidores, los clientes de correo electrónico y otras reglas restringen lo que podemos recibir en nuestra bandeja de entrada.

Por ejemplo:

  • Algunos clientes no permiten que se envíen archivos zip o archivos ejecutables
  • Muchos servicios de correo electrónico tienen un tamaño de archivo máximo que se puede adjuntar
  • Ciertos tipos de correo electrónico pueden ser marcados como spam en función de sus archivos adjuntos (o su contenido)

En cualquier caso, eso está fuera de nuestro control: solo necesitamos saber las limitaciones de a quién enviamos el correo electrónico y asegurarnos de que nos mantenemos dentro de ellos..

Para ese fin, crear archivos adjuntos para enviar con correos electrónicos de WordPress es realmente fácil.

Aunque, obviamente, los archivos adjuntos no son necesarios, puede adjuntar un solo archivo o incluso varios archivos. En WordPress, esto se puede hacer con una cadena o una matriz.

No veremos exactamente cómo hacerlo ahora mismo, pero será llegar a ese momento cuando nos fijamos en un ejemplo de cómo enviar un correo electrónico mediante programación.

Para, Asunto y Mensaje

En el nivel más básico, cada correo electrónico consiste en un "A"dirección de correo electrónico, a"Tema", y un"Mensaje".

En WordPress, estos también son muy fáciles de configurar, simplemente proporcione cadenas para cada uno y estará listo para comenzar.

Por supuesto, si desea enviar un correo electrónico a varias personas, puede iterar a través de un conjunto de direcciones y enviar un correo electrónico por usuario., o puede proporcionar una variedad de destinatarios a la API de correo de WordPress y enviará el correo electrónico a todos aquellos que están incluidos.

Y recuerda: si quieres especificar una diferente responder a Dirección, que va en los encabezados que cubrimos anteriormente en el artículo.


Usando la API de correo electrónico de WordPress

Así que con todo lo dicho, estamos listos para echar un vistazo a la API de correo electrónico de WordPress.

En resumen, toda la funcionalidad está envuelta en una función llamada wp_mail; sin embargo, hay son Algunos ganchos de los cuales debemos ser conscientes si queremos aprovechar al máximo la oferta de la aplicación..

Los ganchos requeridos

Específicamente, vamos a utilizar los siguientes ganchos:

  • wp_mail_content_type Nos permite definir el tipo MIME del correo electrónico que se está enviando.
  • wp_mail_from es un filtro que podemos usar para definir la dirección desde, en lugar de usar la $ encabezados formación
  • wp_mail_from_name es un filtro que podemos usar para definir el nombre de la persona, en lugar de usar el $ encabezados formación
  • wp_login es el gancho que usaremos para la demostración, de modo que estamos enviando correos electrónicos a una persona cada vez que una persona inicia sesión en el panel de WordPress

Para completar, compartiré el código completo a continuación y luego lo revisaremos..

El código fuente


'; $ mensaje. = 'Su cuenta ha sido creada. Su información de inicio de sesión está abajo: '; $ mensaje. = '
'; $ mensaje. = '
    '; $ mensaje. = '
  • Nombre de usuario: '. $ entrada ['dirección de correo electrónico']. '
  • '; $ mensaje. = '
  • Contraseña: ' . $ contraseña. '
  • '; $ mensaje. = '
'; $ mensaje. = '
'; $ mensaje. = 'Puede iniciar sesión en la aplicación aquí.'; add_filter ('wp_mail_content_type', create_function (", 'return" text / html ";')); add_filter ('wp_mail_from', 'acme_mail_from ungénito de la vida), add_filter (' wp_mail_from_name ',' acme_mail_from unguino) dirección de correo electrónico '],' ¡Se ha creado su cuenta de Acme! ', $ message, array ()); función acme_mail_from ($ email) // NOTA: reemplace [at] con @. Esto estaba causando problemas con la sintaxis resaltador. return 'donotreply [at] acme.com'; función acme_mail_from_name ($ nombre) return 'The Acme Company';

Si has estado siguiendo este artículo hasta ahora, entonces nada de esto debería ser realmente sorprendente: después de todo, estamos aprovechando los ganchos que proporciona WordPress, estamos creando cadenas para pasar como argumentos de función y luego estamos llamando a la wp_mail función.

Tenga en cuenta sin embargo, que nosotros son pasando una matriz vacía como el $ encabezados argumento para este correo electrónico. Esto se debe a que estamos usando un filtro personalizado para configurar el "De nombre" y el "De la Dirección"usando un filtro y una función enganchada en lugar de una matriz.

De esta manera no es necesariamente mejor que la alternativa; sin embargo, está destinado a demostrar que hay varias formas de lograr el mismo resultado.


Y ahora, a los datos!

Así que esta es otra característica de WordPress que hace que sea realmente fácil incluir la funcionalidad de correo electrónico en su aplicación web.

De hecho, creo que el modelo de eventos de WordPress hace que sea ridículamente fácil introducir la funcionalidad de correo electrónico para casi cualquier escenario imaginable: si hay un enlace disponible, se puede enviar un correo electrónico..

Dicho esto, es hora de centrar nuestra atención en uno de los aspectos más comunes del desarrollo de aplicaciones web: la gestión de datos..

Específicamente, debemos observar cómo se puede guardar la información en la base de datos y recuperarla, y cómo se puede hacer de manera segura y eficiente..

Así que a partir del próximo artículo, haremos exactamente eso..