How to save data sent from the client to the server in a post request and use that data in another function?
I have a cron job in the server that send email using sengrid sgMail
,
My problem is that in order to send that email I need to grab the TO
email from the client.
1- I'm sending the email address from the client to the server with a Post Request
- The client POST part is working fine:
2- My problem is how to grab that email address on the server side and pass it to my emailSender function:
I'm able to do it in my email route and I can send a test email
exports.configure = (app) => {
// Test route to ensure API succesfully sends email
app.post('/api/email/', sendEmailTest)
function sendEmailTest(req, res, done) {
let toEmail = req.body.email
emailService.sendEmail(toEmail)
}
}
3- but in another file I have my cronJob function, and my question is how to grab the email that I get from this POST request and use it in the other file?
The third file is something like this:
const emailService = require('../services/emailService');
exports.register = (agenda) => {
agendaInstance = agenda;
// Define what this job will do
agendaInstance.define(jobName, () => {
// Retrieve all alarms from our database
alarmRepo.getAlarms((err, alarms) => {
// Iterate through all alarms
alarms.forEach((alarm) => {
// ...send a mail
let message = `${alarm.text} the email to send`
**How can I pass the email to the sendEmail function**
emailService.sendEmail(message, () => {
console.log(message);
});
});
});
});
};
javascript node.js sendgrid
add a comment |
I have a cron job in the server that send email using sengrid sgMail
,
My problem is that in order to send that email I need to grab the TO
email from the client.
1- I'm sending the email address from the client to the server with a Post Request
- The client POST part is working fine:
2- My problem is how to grab that email address on the server side and pass it to my emailSender function:
I'm able to do it in my email route and I can send a test email
exports.configure = (app) => {
// Test route to ensure API succesfully sends email
app.post('/api/email/', sendEmailTest)
function sendEmailTest(req, res, done) {
let toEmail = req.body.email
emailService.sendEmail(toEmail)
}
}
3- but in another file I have my cronJob function, and my question is how to grab the email that I get from this POST request and use it in the other file?
The third file is something like this:
const emailService = require('../services/emailService');
exports.register = (agenda) => {
agendaInstance = agenda;
// Define what this job will do
agendaInstance.define(jobName, () => {
// Retrieve all alarms from our database
alarmRepo.getAlarms((err, alarms) => {
// Iterate through all alarms
alarms.forEach((alarm) => {
// ...send a mail
let message = `${alarm.text} the email to send`
**How can I pass the email to the sendEmail function**
emailService.sendEmail(message, () => {
console.log(message);
});
});
});
});
};
javascript node.js sendgrid
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56
add a comment |
I have a cron job in the server that send email using sengrid sgMail
,
My problem is that in order to send that email I need to grab the TO
email from the client.
1- I'm sending the email address from the client to the server with a Post Request
- The client POST part is working fine:
2- My problem is how to grab that email address on the server side and pass it to my emailSender function:
I'm able to do it in my email route and I can send a test email
exports.configure = (app) => {
// Test route to ensure API succesfully sends email
app.post('/api/email/', sendEmailTest)
function sendEmailTest(req, res, done) {
let toEmail = req.body.email
emailService.sendEmail(toEmail)
}
}
3- but in another file I have my cronJob function, and my question is how to grab the email that I get from this POST request and use it in the other file?
The third file is something like this:
const emailService = require('../services/emailService');
exports.register = (agenda) => {
agendaInstance = agenda;
// Define what this job will do
agendaInstance.define(jobName, () => {
// Retrieve all alarms from our database
alarmRepo.getAlarms((err, alarms) => {
// Iterate through all alarms
alarms.forEach((alarm) => {
// ...send a mail
let message = `${alarm.text} the email to send`
**How can I pass the email to the sendEmail function**
emailService.sendEmail(message, () => {
console.log(message);
});
});
});
});
};
javascript node.js sendgrid
I have a cron job in the server that send email using sengrid sgMail
,
My problem is that in order to send that email I need to grab the TO
email from the client.
1- I'm sending the email address from the client to the server with a Post Request
- The client POST part is working fine:
2- My problem is how to grab that email address on the server side and pass it to my emailSender function:
I'm able to do it in my email route and I can send a test email
exports.configure = (app) => {
// Test route to ensure API succesfully sends email
app.post('/api/email/', sendEmailTest)
function sendEmailTest(req, res, done) {
let toEmail = req.body.email
emailService.sendEmail(toEmail)
}
}
3- but in another file I have my cronJob function, and my question is how to grab the email that I get from this POST request and use it in the other file?
The third file is something like this:
const emailService = require('../services/emailService');
exports.register = (agenda) => {
agendaInstance = agenda;
// Define what this job will do
agendaInstance.define(jobName, () => {
// Retrieve all alarms from our database
alarmRepo.getAlarms((err, alarms) => {
// Iterate through all alarms
alarms.forEach((alarm) => {
// ...send a mail
let message = `${alarm.text} the email to send`
**How can I pass the email to the sendEmail function**
emailService.sendEmail(message, () => {
console.log(message);
});
});
});
});
};
javascript node.js sendgrid
javascript node.js sendgrid
asked Nov 15 '18 at 3:51
AziCodeAziCode
78531337
78531337
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56
add a comment |
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312178%2fhow-to-save-data-sent-from-the-client-to-the-server-in-a-post-request-and-use-th%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312178%2fhow-to-save-data-sent-from-the-client-to-the-server-in-a-post-request-and-use-th%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Normally, you'd store this info in a database. If you're on one server, you might get away with keeping it as a global in node.js
– Jim B.
Nov 15 '18 at 3:56