import bcrypt from "bcrypt"; import { Router } from "express"; import User from "../models/User.js"; import { randomBytes } from "crypto"; import { createTransport } from "nodemailer"; const router = Router(); router.post("/", async (req, res) => { const { username } = req.body; try { const user = await User.findOne({ username }); if (!user) { return res.json({ error: "Username not found" }); } const resetCode = randomBytes(32).toString("hex"); await User.findByIdAndUpdate(user._id, { resetCode }); const url = `https://crm.stream.graff.tech/resetConfirm?code=${resetCode}`; let transporter = createTransport({ host: "mail.netangels.ru", port: 587, secure: false, // true for 465, false for other ports auth: { user: "stream@graff.tech", // generated ethereal user pass: "zLUbt8Io7dh2F9KT", // generated ethereal password }, }); // send mail with defined transport object try { await transporter.sendMail({ from: "stream@graff.tech", // sender address to: username, // list of receivers subject: "Сброс пароля - crm.stream.graff.tech", // Subject line html: `