Volver a la base de conocimiento
Koppelenlaravelsmtp

Configurar las variables MAIL de Laravel

Laravel lee sus ajustes de correo del archivo de entorno de su aplicación. Con un puñado de variables MAIL hace que todo el correo de su aplicación —altas, restablecimientos de contraseña, avisos desde una cola— salga por 2Mail, sin cambiar una sola línea de código.

Qué necesita

  • el nombre de servidor de su cuenta de 2mail
  • unas credenciales SMTP con contraseña, creadas en el panel para esta aplicación; use unas credenciales aparte para su entorno de pruebas y para el de producción
  • una dirección de remitente en un dominio que figure en su cuenta como dominio de envío

Paso 1: rellenar las variables

Abra el archivo de entorno de su aplicación y ponga el motor de correo en SMTP. Relleno queda así:

MAIL_MAILER=smtp, MAIL_HOST=el nombre de servidor de su cuenta de 2mail, MAIL_PORT=587, MAIL_USERNAME=sus credenciales SMTP, MAIL_PASSWORD=su contraseña, MAIL_ENCRYPTION=tls, MAIL_FROM_ADDRESS=una dirección de su dominio de envío, MAIL_FROM_NAME=el nombre de su empresa.

Ponga entre comillas los valores con espacios, como el nombre del remitente. Deje el cifrado en tls; es el ajuste STARTTLS que corresponde al puerto 587.

Paso 2: refrescar la caché de configuración

Si su entorno de producción funciona con la configuración en caché, Laravel no vuelve a leer el archivo de entorno. Refresque la caché de configuración tras cada cambio; de lo contrario probará con los valores antiguos y buscará un fallo que no existe.

Paso 3: probar

Envíe un mensaje sencillo, por ejemplo desde la consola interactiva de Laravel o mediante una notificación existente, a una dirección fuera de su dominio. Compruebe después el registro de entrega en el panel de 2Mail: ahí verá si el mensaje llegó hasta nosotros y qué respondió el servidor receptor.

Paso 4: la cola

Si envía el correo por una cola, el envío real ocurre en el worker, no en la petición web. Reinicie los workers tras un cambio de las variables; de lo contrario seguirán funcionando con los ajustes antiguos. Ante un fallo en el worker, el mensaje aparece en la tabla de tareas fallidas, con el aviso de nuestro relay incluido.

Errores frecuentes

  • No se pudo establecer la conexión — el nombre de servidor tiene una errata, o el alojamiento bloquea el puerto 587. Pida a su proveedor que abra ese puerto.
  • Remitente rechazado — la dirección de remitente de un mailable concreto sobrescribe la dirección global y usa otro dominio.
  • Funciona en local pero no en producción — la caché de configuración no se ha refrescado, o producción usa otro archivo de entorno con valores antiguos.

Más sobre esta integración en SMTP para Laravel. Si prefiere enviar sin SMTP y recibir un estado por mensaje, mire la API de correo.

¿No lo consigue?

Envíenos a través de contacto el aviso de su archivo de registro o de la tabla de tareas fallidas. Ahí figura literalmente la respuesta de nuestro relay.

#laravel mail env#configurar smtp laravel#laravel mail_host#relay smtp laravel#enviar correo laravel
¿No consigues resolverlo?

¿En tu caso ocurre algo distinto a lo descrito arriba, o te quedas atascado? Ponte en contacto con tu nombre de dominio o tu número de cliente a mano y lo miramos contigo.

Contactar con el soporte
Llamar ahora
Enviar un correo