Javascript Azure函数使用SendGrid

时间:2018-04-19 06:50:02

标签: javascript azure azure-functions sendgrid

我想使用SendGrid从Azure功能(Javascript)发送电子邮件。我做了以下

  1. 为SendGrid API密钥创建了新的AppSettings
  2. Azure功能的SendGrid输出绑定集
  3. 以下是我的Azure功能
  4.     module.exports = function (context, myQueueItem) {
    var message = {
             "personalizations": [ { "to": [ { "email": "testto@test.com" } ] } ],
            from: { email: "testfrom@test.com" },        
            subject: "Azure news",
            content: [{
                type: 'text/plain',
                value: myQueueItem
            }]
        };
        context.done(null, message);
    };
    

    但电子邮件没有收到发送。请提供一些指示

1 个答案:

答案 0 :(得分:3)

我最初测试并面对同样的问题。

请更改为 context.done(null,{message});

您可以尝试使用以下代码:

module.exports = function (context, order) {    
    context.log(order);
    var message = {
         "personalizations": [ { "to": [ { "email": "testto@gmail.com" } ] } ],
        from: { email: "testfrom@gmail.com" },        
        subject: "Azure news",
        content: [{
            type: 'text/plain',
            value: order
        }]
    };

    context.done(null, {message});
};

funtion.json文件是:

{
  "bindings": [
    {
      "type": "queueTrigger",
      "name": "order",
      "direction": "in",
      "queueName": "samples-orders"
    },
    {
      "type": "sendGrid",
      "name": "message",
      "direction": "out",
      "apiKey": "mysendgridkey",
      "from": "testfrom@gmail.com",
      "to": "testto@gmail.com"
    }
  ],
  "disabled": false
}

我在这里使用Gmail,因此我允许安全性较低的应用:开启

enter image description here

点击此link,您可以对其进行配置。