Tengo un trabajo cron que se supone que debe enviar un correo electrónico con un enlace al sistema todos los meses.
Sin embargo, esta es una aplicación de caja blanca que se ejecutará en diferentes dominios.
Estoy tratando de generar dinámicamente el enlace en el trabajo cron. He hecho esto antes accediendo al objeto req en una solicitud GET o POST, pero sé que no hay forma de acceder a estos objetos en un trabajo cron. Estoy tratando de encontrar una manera de generar el enlace en Cron Job sin codificar el protocolo y el dominio en el enlace que se envía.
Vea el ejemplo a continuación:
const express = require("express"); const cron = require('node-cron'); const app = express(); cron.schedule("0 8 1 * *", async () => { let protocol = `https`; // Functionality to detect if protocol is http or https let domainAndPort = `www.test.com:7443`; // Functionality to detect doamin and port that app is listening on. let link = `${protocol}://${domainAndPort}/`; //Send Email with Link using nodemailer /* In a GET or POST request I normally generate the link like this let link = `${req.protocol}://${req.headers.host}/`; */ } app.get("/", function(req, res) { res.send("HELLO"); }); app.listen(7443, function() { console.log(`Listening on port 7443`); });