Post Top Ad

Your Ad Spot

martes, 15 de septiembre de 2020

Cómo enviar correos electrónicos a nuevos usuarios

 

Casi todas las aplicaciones web modernas tienen la capacidad de enviar correos electrónicos a los usuarios en varios momentos. De hecho, algunos podrían decir que algunas de estas empresas han abusado francamente de la idea de enviar notificaciones por correo electrónico a los usuarios y enviarlas en cada instancia posible. No vamos a ver cómo hacer eso aquí. Sin embargo, podría ser bueno poder enviar un correo electrónico de bienvenida a los nuevos usuarios que se registren en su aplicación web. Vamos a probar este mismo concepto ahora mismo en este tutorial sobre cómo enviar correos electrónicos a nuevos usuarios cuando se usa Laravel.


Establecer una configuración de prueba de correo electrónico

En primer lugar, necesitará una forma de probar el acto de enviar correo electrónico desde su aplicación. Supongo que podría enviar todos los correos electrónicos a su propia dirección de correo electrónico personal durante el desarrollo de la aplicación, pero podría haber una mejor manera. Para esta tarea, haremos uso de Mailtrap.io, donde puede configurar rápidamente una bandeja de entrada de demostración. De esta manera, puede enviar correos electrónicos desde su aplicación y ver cómo se verán cuando sus usuarios los reciban. Es realmente un pequeño servicio ordenado.
mailtrap para probar el correo electrónico

Una vez que tenga su cuenta Mailtrap.io y la bandeja de entrada de demostración en su lugar, puede completar el .envarchivo de su instalación de Laravel similar a lo que ve aquí:

MAIL_DRIVER = smtp
MAIL_HOST = smtp.mailtrap.io
MAIL_PORT = 2525
MAIL_USERNAME = your_user_name
MAIL_PASSWORD = your_password
MAIL_ENCRYPTION = tls
MAIL_FROM_ADDRESS=hello@welikegames.dev
MAIL_FROM_NAME = 'We Like Games Team'

Crea un nuevo correo electrónico para enviar

Al igual que la mayoría de las cosas en Laravel, no necesitará crear nada desde cero para enviar un correo electrónico. Puede utilizar artisan para generar rápidamente una nueva clase de correo. Nos gustaría enviar un correo electrónico a los nuevos usuarios, así que escriba php artisan make: mail Hello para crear una nueva clase de correo electrónico Hello que podamos enviar a los nuevos usuarios de la aplicación.generador de clases de correo

Esto crea un nuevo directorio de correo como podemos ver aquí:nuevo directorio de correo para realizar clases de correo

El texto estándar de la clase Hello resultante se elimina como vemos a continuación:
app / Mail / Hello.php


Los correos electrónicos necesitan un archivo de visualización

En ese código que vemos arriba, tenga en cuenta que el build()método hace referencia a un archivo de vista. Lo necesitaremos, así que sigamos adelante y creemos un nuevo archivo en resources / views / emails / hello.blade.php . Tenga en cuenta que llamamos a nuestra vista hello.blade.php, por lo que deberá eliminar view.name y reemplazarlo con emails.hello en el build()método anterior. Nuestro archivo de vista simple puede contener algo tan simple como:

recursos / vistas / correos electrónicos / hello.blade.php


Configure una ruta de prueba simple para enviar un correo electrónico

Ahora que tenemos toda la infraestructura configurada, podemos intentar enviar un correo electrónico de prueba simple en una ruta de prueba. Solo para sonreír, le enviaremos un correo electrónico a Tom desde nuestro archivo de rutas.

rutas / web.php

Con esto en su lugar, podemos visitar la /testemailruta, y solo tomará un momento activar un correo electrónico.
enviando un correo electrónico de prueba

Si echamos un vistazo a nuestra bandeja de entrada de demostración en Mailtrap, ¡podemos ver el correo electrónico que se envió! ¡Muy genial!correo electrónico de prueba exitoso enviado a mailtrap


Personaliza tu correo electrónico

Estoy tan emocionado de que este correo electrónico de prueba funcione, pero era solo un correo electrónico súper básico. Ese correo electrónico podría haber sido enviado a cualquiera. No seamos tan impersonales. Debemos dirigir ese correo electrónico al nombre de la persona, como cualquier otro correo electrónico. Lo que haremos es iniciar sesión en un usuario existente y luego usar esa instancia de usuario para personalizar el correo electrónico. Así es como podemos modificar nuestro código para hacer precisamente eso.

Primero actualizamos nuestra /testemailruta.
rutas / web.php

Luego, necesitamos modificar nuestra Helloclase de correo para hacer uso de una Userinstancia. Aquí hay una buena información. Simplemente haciendo $userpública la instancia en esta clase, la vista asociada tendrá acceso a esa variable. No necesitamos enviarlo manualmente a través de () ni nada por el estilo. Sin embargo, si ayuda a mantener las cosas más claras, aún puede hacerlo.

aplicación / Mail / Hello.php

Finalmente, necesitaremos actualizar nuestro archivo de vista de correo para que podamos acceder al nombre del usuario.

recursos / vistas / correos electrónicos / hello.blade.php

¡Sigamos adelante y probemos esa /testemailruta una vez más!enviando correo electrónico personalizado

¡Muy genial! Podemos ver que enviamos un correo electrónico a Mario, que si ha estado siguiendo esta serie de creación de una aplicación de juegos, fue el primer usuario en registrarse en el sitio.


Enviemos un correo electrónico a ese nuevo usuario

Ok, todo el trabajo preliminar hasta ahora se hizo solo para probar las cosas. Ahora podemos eliminar todo ese código de correo de prueba de nuestro archivo de rutas y poner algún código de correo donde queremos enviar un correo electrónico a un nuevo usuario. ¿Donde es eso? Bueno, tiene sentido que coloquemos esto en el store()método del controlador de registro. Veamos cómo podemos hacer eso aquí.

aplicación / Http / Controllers / RegistrationController.php

Todo lo que teníamos que hacer era importar la Helloclase e incluir esa línea de código súper simple para enviar un correo electrónico al usuario: \ Mail :: to ($ user) -> send (new Hello ($ user)); ¡Eso es astuto! Probémoslo. Parece que Gannon está en la ciudad.registro de nuevo usuario para enviar correo electróniconuevo registro de usuario funcionó

Y si nos dirigimos a Mailtrap, ¡parece que el correo electrónico del nuevo usuario se envió correctamente!enviamos un nuevo correo electrónico de usuario


Haz que tu correo sea bonito con Markdown

Tomemos un momento para probar las funciones formateadas de Markdown que ofrece Laravel. Esta es una excelente manera de crear algunos correos electrónicos realmente atractivos con poco o ningún problema. Generaremos un nuevo archivo de vista y especificaremos la marca de rebajas escribiendo: php artisan make: mail HelloThere –markdown = ”emails.hellothere” . Obtenemos un nuevo archivo de clase HelloThere, así como un nuevo archivo hellothere.blade.php en nuestra carpeta de correos electrónicos.
clase de correo electrónico de rebajas recién generada

El archivo hellothere.blade.php generado tiene un texto estándar para que pueda comenzar. Así es como comienza.

recursos / vistas / correos electrónicos / hellothere.blade.php

Notará que en la parte inferior de este archivo, se está utilizando una variable de config ('app.name'). Esto está configurado en 'Laravel' por defecto. Puede actualizar esto para que coincida con el nombre de su aplicación yendo a config / app.php y actualizando la nameclave como ve aquí.actualizando el nombre de su aplicación laravel

Con esto en su lugar, podemos actualizar el archivo de vista para personalizar el mensaje y probarlo.

Si queremos enviar un correo electrónico de prueba sin tener que registrar un nuevo usuario, podemos hacerlo a través de Tinker:enviando correo electrónico con tinker

Si miramos nuestro correo electrónico que recibimos en mailtrap, ¡podemos ver que se ve bastante bien!el correo electrónico de rebajas es bonito


Personalizar el tema de Markdown

Creo que podemos estar de acuerdo en que el estilo de los correos electrónicos con descuento se ve bastante bien y ahorra mucho tiempo y trabajo, especialmente para el diseño desafiado como yo. De hecho, el tema predeterminado se ve muy bien, pero si desea estropear las cosas, personalice cómo se ve, puede hacerlo. Para ello, deberá publicar su propio tema. Haga esto escribiendo algo como php artisan vendor: publish –tag = laravel-mail en el símbolo del sistema. Lo que hace es tomar los archivos de los proveedores asociados con el correo y publicarlos en la raíz de su proyecto para que pueda modificarlos como desee.

Al ejecutar este comando, ahora tiene un conjunto de archivos completamente nuevo en resources / views / vendor / mail. Lo que hicimos a continuación fue copiar el archivo default.css en un nuevo archivo de welikegames.css. Una vez hecho esto, puede piratear ese nuevo archivo css al contenido de su corazón para personalizar el aspecto de su correo electrónico de rebajas. También necesitará visitar su archivo mail.php y cambiar la clave del tema de forma predeterminada a welikegames (o como usted nombre el suyo). Aquí se muestran ambas capturas de pantalla.creando tu tema personalizadocambiando el tema de rebajas en laravel

Ahora que hemos realizado algunas ediciones en el estilo CSS del nuevo tema, enviemos más correos electrónicos y veamos cómo se ve. Predeterminado
personalizado
El correo electrónico de rebajas personalizado es bastante
el correo electrónico de rebajas es bonito

¡Cosas geniales!


Resumen de cómo enviar correo electrónico a nuevos usuarios

Todas las aplicaciones necesitarán enviar correos electrónicos a sus usuarios en algún momento. Con este tutorial, cubrimos cómo hacer precisamente eso. Para nuestros propósitos, consideramos enviar un correo electrónico a los nuevos usuarios de nuestro sitio de Juegos. Es posible que deba enviar un correo electrónico a los usuarios por otras razones, pero el proceso es el mismo. Usamos Mailtrap como una excelente manera de probar el envío de correos electrónicos, sin tener que usar una dirección de correo electrónico real, lo cual es genial. Lo realmente fantástico es que verá exactamente lo que verán sus usuarios cuando les envíe un correo electrónico. Artisan nos facilitó la generación de nuevos archivos de clases de correo. A partir de ahí, vimos cómo enviar un correo electrónico usando esos archivos tanto en nuestras rutas como en los archivos del controlador. Finalmente, vimos cómo el estilo Markdown ahora se incorpora como una característica en Laravel.


No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas