sendgrid giving error sendgrid.Email is not a constructor

会有一股神秘感。 提交于 2020-01-03 10:55:15

问题


I am using sendgrid to send email. but when i try to create the email object as follow

let email = new sendgrid.Email();
email.addTo("rhushikeshl@test.com");
email.setFrom("customercare@test.com");
email.setSubject("New Unit Added");
email.setHtml("New unit addded </br> Unit Id =" + savedUnit._id);
sendgrid.send(email, function(err, json) {
    if (err) {
        console.log("Error: " + err);
    } else {
        console.log(json);
    }
});

But it giving error

https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/nodejs.html


回答1:


Try this - it worked for me...

First install 'sendgrid-web' using:

npm install sendgrid-web

After that, implement the code like this:

router.get('/email2',function(req,res,next){
  var Sendgrid = require("sendgrid-web");
      var sendgrid = new Sendgrid({
        user: "Your_login_username_for_Sendgrid",//provide the login credentials
        key:"Your_Api_Key_OR_password"
      });

    sendgrid.send({
    to: 'test@gmail.com',
    from: 'test@gmail.com',
    subject: 'Hello world!',
    html: '<h1>Hello world!</h1>'
  }, function (err) {
    if (err) {
      console.log(err);
      res.json({Error:'Error in sending mail'});
    } else {
      console.log("Success.");
      res.json({Success:'sucessful'});
    }
  });
})



回答2:


This should work for you

var helper = require('sendgrid').mail;

from_email = new helper.Email("test@example.com");
to_email = new helper.Email("test@example.com");
subject = "Sending with SendGrid is Fun";
content = new helper.Content("text/plain", "and easy to do anywhere, even with Node.js");
mail = new helper.Mail(from_email, subject, to_email, 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) {
  console.log(response.statusCode);
  console.log(response.body);
  console.log(response.headers);
})

Source : https://sendgrid.com/docs/Integrate/Code_Examples/v3_Mail/nodejs.html



来源:https://stackoverflow.com/questions/40091170/sendgrid-giving-error-sendgrid-email-is-not-a-constructor

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!