首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SendGrid Azure问题

SendGrid Azure问题
EN

Stack Overflow用户
提问于 2017-07-03 16:07:07
回答 1查看 228关注 0票数 0

我试图在Azure上用我的Node应用程序发送一封电子邮件,并得到以下错误:

代码语言:javascript
复制
TypeError: sendgrid.Email is not a constructor

这是我的密码。我使用了来自微软(https://learn.microsoft.com/en-us/azure/store-sendgrid-nodejs-how-to-send-email)的文档。

代码语言:javascript
复制
var sendgrid = require('sendgrid')('SendGrid User ID', 'SendGrid password');
function createEmail() {
    console.log('CREATE EMAIL');

    var emailToSend = new sendgrid.Email({
        to: example@example.com,
        from: 'example@example.com',
        subject: 'Subject',
        text: 'some text';
    });

    sendEmail(emailToSend);
}

function sendEmail(email) {
    console.log('SEND EMAIL');
    sendgrid.send(email, function (err, json) {
        if (err) {
            return console.error(err);
        }
    });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-05 02:32:29

正如@David所提到的,SendGrid团队添加了一个突破性的更改,以支持自v3.0.0以来的v3 Web。这里是一个最新版本的工作代码示例(v5.1.2)。

代码语言:javascript
复制
var helper = require('sendgrid').mail;
var fromEmail = new helper.Email('test@example.com');
var toEmail = new helper.Email('test@example.com');
var subject = 'Sending with SendGrid is Fun';
var content = new helper.Content('text/plain', 'and easy to do anywhere, even with Node.js');
var mail = new helper.Mail(fromEmail, subject, toEmail, content);

var sg = require('sendgrid')(process.env.SENDGRID_API_KEY);
var request = sg.emptyRequest({
  method: 'POST',
  path: '/v3/mail/send',
  body: mail.toJSON()
});

sg.API(request, function (error, response) {
  if (error) {
    console.log('Error response received');
  }
  console.log(response.statusCode);
  console.log(response.body);
  console.log(response.headers);
});

但是,如果您想让所提供的代码顺利运行,则需要将版本恢复为2.0.0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44889975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档