节点 - 用于发送电子邮件的选项,发送网格和节点邮件之一或组合
Node - options for sending email, sendgrid and nodemailer one of them or combined
节点中发送电子邮件的经验不多,正如我所看到的,有不同的选项可供选择。在以下情况下使用哪个选项?
将node-mailer与sengrid一起使用:
如我所见,我必须添加额外的包"nodemailer-sendgrid-transport"
以强制它们协同工作。
因为var transporter = nodemailer.createTransport({ service: 'SendGrid', auth: {...});
行不通。(总是返回错误的用户名/密码(
var nodemailer = require('nodemailer'),
sendGridTransport = require('nodemailer-sendgrid-transport');
var options = {
auth: {
api_user: 'blabla',
api_key: 'blabla'
}
};
var client = nodemailer.createTransport(sendGridTransport(options));
var email = {
to: ['joe@foo.com', 'mike@bar.com'],
from: 'roger@tacos.com',
subject: 'Hi there',
text: 'Awesome sauce',
html: '<b>Awesome sauce</b>'
};
client.sendMail(email, function(err, info) { ... });
仅使用没有节点邮件包的发送网格模块:
var sendgrid = require('sendgrid')('blabla', 'blabla');
var email = {
to: ['joe@foo.com', 'mike@bar.com'],
from: 'roger@tacos.com',
subject: 'Hi there',
text: 'Awesome sauce',
html: '<b>Awesome sauce</b>'
};
sendgrid.send(email, function(err, json) { ... });
因此,对于第二个示例,我将只包含一个包(sengrid(,对于第一种方法,我必须包含两个包(nodemailer和nodemailer-sendgrid-transport(。我看到第一种方法比第二种方法更抽象,因为我可以更新或完全切换到其他一些服务传输(例如 gmail(,或者我可以吗?但另一方面,我看不到在不同传输对象之间切换的情况。
附带的问题是如何将模板与此解决方案一起使用。我在官方指南中没有看到任何关于模板的内容,也没有在:https://github.com/sendgrid/sendgrid-nodejs 也没有看到:https://github.com/andris9/Nodemailer:
电子邮件模板是完全不同的故事,我需要安装新的软件包来处理它?
最后我觉得我被发布了非常迟钝的问题。
我已经在Mandrill中使用了nodemailer,没有任何问题。
这是我的情况中有效的代码,但您没有提到您的代码:
// Create a SMTP transport object
var transport = nodemailer.createTransport("SMTP", {
service: mainConfigFile.smtpServer.service, // use well known service
auth: {
user: mainConfigFile.smtpServer.user,
pass: mainConfigFile.smtpServer.pass
}
});
请注意,凭据存储在 mainConfigFile 中,但很清楚其意图是什么。
我认为你应该对nodemailer没问题。
您能否提供有关您收到的错误的更多详细信息?
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 根据id将json数组组合为一个json数组
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 接受不在列表中的值-引导组合框
- 有条件更新d3.js力图中节点的最佳方法
- 如何处理node.js节点mongodb中的连接和查询队列
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 将DOM节点值与字符串Javascript进行比较
- 组合两个javascript函数
- 节点fs.stat名称未定义
- 组合具有不同初始设置的两个节点服务器的功能
- 从选择/组合 JavaScript 中删除节点
- 节点 - 用于发送电子邮件的选项,发送网格和节点邮件之一或组合
- 将两个对象与多个节点组合在一起——为什么这段代码有效
- 给定提取的组合文本字符串中的偏移量,如何确定包含节点和偏移量