我想了解在哪裏定位邏輯,通過我的Angular App中的聯繫表單發送電子郵件(使用angular-fullstack MEAN堆棧約曼)。發送電子郵件與節點郵寄者和Sendgrid在Angular MEAN堆棧中使用來自Yeoman的angular-fullstack
我可以使用nodemailer和sendgrid在服務器端的app.js文件中添加發送電子郵件的邏輯,並且一切正常,每次刷新服務器時都會發送一封電子郵件,但是我對哪裏有點模糊放置邏輯,以便只在表單提交後纔會發送,並且它會觸發服務器端。
這就是創建動作看起來像快遞JS側...
exports.create = function(req, res) {
Contact.create(req.body, function(err, contact) {
if(err) { return handleError(res, err); }
return res.json(201, contact);
});
};
這裏是正在工作app.js的代碼,但顯然不是在正確的地方...
var nodemailer = require('nodemailer');
var sgTransport = require('nodemailer-sendgrid-transport');
var options = {
\t auth: {
\t \t api_user: 'username', // 'SENDGRID_USERNAME' - Recommended to store as evn variables
\t \t api_key: 'password', // 'SENDGRID_PASSWORD'
\t }
};
var mailer = nodemailer.createTransport(sgTransport(options));
var email = {
\t to: '[email protected]',
\t from: '[email protected]',
\t subject: 'Test Email',
\t text: 'Awesome Email',
\t html: '<b>Bold and Awesome Email</b>'
};
mailer.sendMail(email, function(err, res) {
\t if (err) {
\t \t console.log(err)
\t }
\t console.log(res);
});
來自rails背景我最初的想法是將邏輯粘貼在創建操作中,以便如果對象成功創建,則會發送電子郵件。這是在這種情況下正確思考它的方式......我是MEAN堆棧的新手。
感謝您的幫助......