Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用sendgrid[Node.js]发送电子邮件_Javascript_Node.js_Sendgrid - Fatal编程技术网

Javascript 使用sendgrid[Node.js]发送电子邮件

Javascript 使用sendgrid[Node.js]发送电子邮件,javascript,node.js,sendgrid,Javascript,Node.js,Sendgrid,我使用以下代码发送两封特定的电子邮件,一封给预订客户,另一封给我: sendgrid.send({ to: "client@client.com", from: "me@me.com", subject: "Register confirmation", html: "Some HTML", }, function(err, json) { if

我使用以下代码发送两封特定的电子邮件,一封给预订客户,另一封给我:

sendgrid.send({
        to:         "client@client.com",
        from:       "me@me.com",
        subject:    "Register confirmation",
        html:           "Some HTML",
    },
    function(err, json) {
        if (err) {
            return console.error(err);
        } 
        else {
            next();
        }
});

sendgrid.send({
        to:         "me@me.com",
        from:       "newRegister@me.com",
        subject:    "NEW RESERVATION!",
        html:       "SOME TEXT OR HTML",
    },
    function(err, json) {
        if (err) {
            return console.error(err);
        } 
        else {
            next();
        }
});

我能改进一下吗?有很多重复。

您可以将自己指定为收件人,这样您就可以得到客户收到的确切电子邮件。如果您使用,用户将看不到您的电子邮件地址,您也看不到他们的电子邮件地址。要在Node.js库中使用它,可以通过以下方式进行:

var sendgrid = require('sendgrid')('api_user', 'api_pwd');
var email = sendgrid.Email();
email.smtpapi.addTo('client@email.com');
email.smtpapi.addTo('your@notification.email');
email.setSubject('Register confirmation');
email.setHtml('booking numbah');
email.setFrom('your@email.com');
sendgrid.send(email, function(err, json) {
   console.log(arguments);
});

希望有帮助

只需替换从中获得的API键即可。(创建API密钥)

..并安装@sendgrid/mail包

npm i@sendgrid/mail--保存

const sgMail=require(“@sendgrid/mail”);
const SENGRID_API_KEY='Here_Paste_Your_KEY';
setApiKey(SENGRID_API_KEY);
常数msg={
致:'to@email.com',
发件人:'from@email.com',
主题:“测试主题”,
文字:“你好,世界!”,
html:“你好,世界!”,
};
sgMail.send(消息,函数(错误,信息){
如果(错误){
日志(“未发送电子邮件”);
}否则{
log(“电子邮件发送成功”);
}
});

我所能想到的就是一个包装器,它可以管理承诺的返回等等,比如send_message(params);SendGridAPI V3希望这有帮助
const sgMail = require("@sendgrid/mail");

const SENGRID_API_KEY = 'Here_Paste_Your_Key'; 
sgMail.setApiKey(SENGRID_API_KEY);

const msg = {
    to: 'to@email.com',
    from: 'from@email.com',
    subject: "Test Subject",
    text: 'Hello World!',
    html: '<strong>Hello World!</strong>',
};

sgMail.send(msg, function(err, info) {
    if (err) {
        console.log("Email Not Sent.");
    } else {
        console.log("Email Sent Success.");
    }
});