使用Express/Sendgrid为联系表单使用电子邮件模板
Use email template for contact form using Express/Sendgrid
我有一个使用Node Sendgrid helper库的简单联系人表单。
我想使用一个模板email/contact.jade
,编译成HTML并添加正确的上下文。我知道它需要在payload.html
值,但我卡住了如何发送电子邮件与模板。
routes.js
app.route('/contact')
.post(function(req, res) {
var template = 'email/contact.jade';
var payload = {
to: req.body.email,
from: 'example@example.com',
subject: req.body.subject,
html: req.body.message
};
var email = new sendgridClient.Email(payload);
sendgridClient.send(email, function(err, json) {
if (err) {
return console.error(err);
} else {
res.redirect('/thanks');
}
});
});
电子邮件/contact.jade
p Thanks
p Name {{ name }}
p Email {{ email }}
p Subject {{ subject }}
p Message {{ message }}
首先我不确定你的jade语法是否正确。你可以试试这个:
电子邮件/contact.jade
p Thanks
p Name #{name}
p Email #{email}
p Subject #{subject}
p Message #{message}
并将其呈现为HTML:
var jade = require('jade');
var templatePath = __dirname + '/contact.jade';
app.route('/contact')
.post(function(req, res) {
var payload = {
to: req.body.email,
from: 'example@example.com',
subject: req.body.subject,
html: jade.renderFile(templatePath, req.body)
};
//...
});
相关文章:
- 窗口提醒或类似内容中的电子邮件表单
- 从 postmaster@domain.co.uk 收到的 PHP 电子邮件表单
- 将多个电子邮件表单中的电子邮件发送到多个电子邮件地址
- 谷歌应用程序将电子邮件表单脚本转换为PDF格式,但希望清除一些单元格
- 电子邮件表单 选择列表菜单
- 电子邮件表单内容 - 如何部署
- MeteorJS电子邮件表单验证
- HTML/PHP 电子邮件表单
- 电子邮件表单:提交表单后,$_POST 为空
- 电子邮件表单PHP不工作
- 电子邮件表单验证-确保它只有一个'@'象征
- 通过PHP电子邮件将图像文件附加到电子邮件表单
- 我如何自定义MadMimi嵌入式电子邮件表单
- 停用和激活电子邮件表单
- Sencha Touch中的电子邮件表单细节给出例外
- 验证电子邮件表单在IE中不工作
- 不要提交电子邮件表单,除非达到最低总数
- 节点电子邮件表单成功消息
- HTML/PHP:如何使用PHPMailer发送电子邮件表单而不获得空白页
- 使用PHP和AJAX发送电子邮件表单