Почему данные с помощью .env не срабатывают?
Всем привет!
Я создаю сервис, в котором необходимо верифицировать почту.
Сервис написан на express.js, для отправки писем использую nodemailer, как SMTP-провайдера - SendGrid.
Все нужные библиотеки я подключил к проекту. Данные в папке .env валидны.
import nodemailer from 'nodemailer'
class MailService {
constructor() {
this.transporter = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: process.env.SMTP_PORT,
secure: true,
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD
}
})
}
async sendActivationMail(to, link) {
await this.transporter.sendMail({
form: process.env.SMTP_USERNAME,
to,
subject: 'Активация аккаунта на ' + process.env.API_URL,
text: '',
html: `
<div>
<h1>Для фктивации перейдите по ссылке</h1>
<a href="${link}">${link}</a>
</div>
`,
})
}
}
export default new MailService()
Проблема в том когда я в поля user and pass вставляю данные с помощью .env, выдает ошибку "Error: connect ECONNREFUSED 127.0.0.1:465", но когда я вставляю в эти же поля данные вручную, все работает.
В чем может быть проблема ?
Источник: Stack Overflow на русском