Configuración de envío de mensajes con Laravel

Configurar un proyecto Laravel con Outlook y Gmail mediante el protocolo SMTP

Para configurar el envío de mensajes de correo electrónico desde un proyecto Laravel es necesario modificar el archivo .env que se encuentra ubicado en la raíz del proyecto. Este archivo contiene un conjunto de variables predefinidas por defecto, destinadas a la configuración del envío de mensajes y que son fácilmente diferenciadas del resto de variables por el prefijo MAIL.

  1. MAIL_DRIVER=smtp
  2. MAIL_HOST=smtp.mailtrap.io
  3. MAIL_PORT=2525
  4. MAIL_USERNAME=null
  5. MAIL_PASSWORD=null
  6. MAIL_ENCRYPTION=null

Además del archivo .env existe otro archivo relacionado con el envío de mensajes, el archivo mail.php, ubicado en el directorio config. El archivo mail.php contiene el array from que incluye dos variables: address y name.  

  1. 'from' => [
  2. 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
  3. 'name' => env('MAIL_FROM_NAME', 'Example')
  4. ],

Este array asigna las variables address y name mediante las variables MAIL_FROM_ADDRESS y MAIL_FROM_NAME respectivamente y, en su defecto, asigna el segundo parámetro de tipo cadena. Por tanto, para asignar estas dos variables existen dos opciones: se crea una nueva variable MAIL_FROM_ADDRESS y una nueva variable MAIL_FROM_NAME con los datos en el archivo de configuración .env, o bien, se sustituyen los datos directamente por las cadenas de ejemplo en el array from. 

Configuración Outlook

  1. MAIL_DRIVER=smtp
  2. MAIL_HOST=smtp.office365.com
  3. MAIL_PORT=587
  4. MAIL_USERNAME=[email@email.com]
  5. MAIL_PASSWORD=[contraseña]
  6. MAIL_ENCRYPTION=TLS
  7. MAIL_FROM_ADDRESS=[email@email.com]
  8. MAIL_FROM_NAME=[dominio]

Para obtener los datos de conexión de Outlook es posible mediante el panel de Outlook, en el apartado de configuración y la opción Sincronizar correo electrónico.

Nota: La primera vez será necesaria la activación que se realiza mediante un enlace de confirmación que Outlook envía automáticamente al propio correo.

Configuración Gmail

  1. MAIL_DRIVER=smtp
  2. MAIL_HOST=smtp.gmail.com
  3. MAIL_PORT=587
  4. MAIL_USERNAME=[email@email.com]
  5. MAIL_PASSWORD=[contraseña]
  6. MAIL_ENCRYPTION=TLS
  7. MAIL_FROM_ADDRESS=[email@email.com]
  8. MAIL_FROM_NAME=[dominio]

En Gmail es necesario activar el interruptor de Acceso de Aplicaciones poco seguras que se encuentra accediendo a la opción Seguridad dentro del apartado Gestionar cuenta Google.

En caso de errores por primera vez pueden solucionarse mediante la verificación en 2 pasos o el desbloqueo.

En caso de asignar los datos mediante el archivo mail.php es necesario que coincida el segundo parámetro de la variable address con la variable MAIL_USERNAME del archivo .env.

  1. 'from' => [
  2. 'address' => env('MAIL_FROM_ADDRESS', 'email@email.com'),
  3. 'name' => env('MAIL_FROM_NAME', 'midominio')
  4. ],

Nota: Al realizar las pruebas, tanto en Gmail como en Outlook es recomendable limpiar la caché del proyecto:

  1. php artisan config:cache


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso