es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“La versión 5.8 de Laravel dejó de enviar correos electrónicos.”

El envío de correos electrónicos desde mi sistema ha dejado de funcionar por completo. La configuración de .env está correcta. Intenté ejecutar este código para probar:

php artisan tinker

Mail::getSwiftMailer()->registerPlugin(
new Swift_Plugins_LoggerPlugin(new Swift_Plugins_Loggers_EchoLogger(false))
);
$to = ‘tu_direccion@example.com’;
Mail::raw(‘Correo de prueba’, function ($message) use ($to) {
$message->to($to)->subject(‘Correo de prueba’);
});

y obtengo este error:

PHP Warning: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home/usuario/dev/dev-contaja/vendor/predis/predis/src/Connection/StreamConnection.php on line 127
PHP Warning: stream_socket_client(): unable to connect to tcp://redis:6379 (php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution) in /home/usuario/dev/dev-contaja/vendor/predis/predis/src/Connection/StreamConnection.php on line 127
Predis/Connection/ConnectionException con mensaje ‘php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution [tcp://redis:6379]’

Estoy utilizando Docker.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar relacionado con la conexión de Redis. El mensaje de error indica que el sistema no puede conectar a Redis utilizando el nombre de host “redis” en el puerto 6379. Esto podría deberse a una falla temporal de resolución DNS o a un problema con el servicio de Redis.

    Para solucionar el problema, es posible que desee verificar si el servicio de Redis se está ejecutando correctamente dentro del contenedor Docker. Puede hacer esto ejecutando el siguiente comando:

    docker ps
    

    Este comando enumerará todos los contenedores en ejecución. Verifique si el contenedor Redis está en ejecución y, si es así, asegúrese de que esté escuchando en el puerto correcto (6379).

    Si el contenedor Redis no está en ejecución, deberá iniciarlo. Puede hacer esto ejecutando el siguiente comando:

    docker-compose up -d redis
    

    Este comando iniciará el contenedor Redis en modo desvinculado (-d) a partir del archivo Docker Compose.

    Alternativamente, es posible que desee verificar la configuración de conexión de Redis en la aplicación Laravel para asegurarse de que esté configurada correctamente. La configuración de conexión de Redis se puede encontrar en el archivo config/database.php.

    'redis' => [
        'client' => 'predis',
        'default' => [
            'host' => env('REDIS_HOST', 'redis'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => env('REDIS_DB', 0),
        ],
    ],
    

    Asegúrese de que la variable de entorno REDIS_HOST esté configurada correctamente como “redis” y que la contraseña y el puerto de Redis sean también correctos.

    Una vez que haya resuelto el problema de conexión de Redis, puede ejecutar nuevamente el código de prueba de correo electrónico y ver si funciona.

Comments are closed.