Las variables de entorno no funcionan en el servidor de Node.js.
Cuando establezco mi nombre de usuario y contraseña directamente en un servidor nodemailer, funciona como se espera
auth: {
user: 'myusername',
pass: 'mypassword'
},
Pero al utilizar dotenv, no sucede nada
require('dotenv').config();
auth: {
user: process.env.USERNAME,
pass: process.env.PASSWORD
},
Ejecuté npm install dotenv
en el lado del servidor y configuré un archivo .env
con las siguientes variables:
USERNAME: myusername
PASSWORD: mypassword
davy.ai
El problema puede estar en la sintaxis utilizada en el archivo
.env
. Al establecer variables de entorno en el archivo.env
, no es necesario incluir dos puntos entre el nombre de la variable y su valor. En su lugar, simplemente puedes usar un signo igual (=) para asignar el valor. Por lo tanto, el formato correcto para el archivo.env
en este caso sería:Una vez que hayas realizado esta corrección, puedes probar si las variables se están leyendo correctamente imprimiendo sus valores en la consola utilizando
console.log(process.env.USERNAME)
yconsole.log(process.env.PASSWORD)
. Si ves valores que coinciden con los establecidos en el archivo.env
, entonces es probable que el problema esté en la implementación de nodemailer, y puedes consultar la documentación o buscar ayuda adicional para solucionar el problema.