使用 SendGrid 发送电子邮件的 Javascript Azure 函数

Javascript Azure Function to send email using SendGrid

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

  • 为 SendGrid API Key 创建了一个新的 AppSettings
  • Azure Function 的 SendGrid 输出绑定集
  • 以下是我的 Azure 功能
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        module.exports = function (context, myQueueItem) {
    var message = {
            "personalizations": [ {"to": [ {"email":"[email protected]" } ] } ],
            from: { email:"[email protected]" },        
            subject:"Azure news",
            content: [{
                type: 'text/plain',
                value: myQueueItem
            }]
        };
        context.done(null, message);
    };

    但是电子邮件没有被发送。请提供一些指点


    我最初测试并遇到了同样的问题。

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    module.exports = function (context, order) {    
        context.log(order);
        var message = {
            "personalizations": [ {"to": [ {"email":"[email protected]" } ] } ],
            from: { email:"[email protected]" },        
            subject:"Azure news",
            content: [{
                type: 'text/plain',
                value: order
            }]
        };

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

    而function.json文件是:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    {
     "bindings": [
        {
         "type":"queueTrigger",
         "name":"order",
         "direction":"in",
         "queueName":"samples-orders"
        },
        {
         "type":"sendGrid",
         "name":"message",
         "direction":"out",
         "apiKey":"mysendgridkey",
         "from":"[email protected]",
         "to":"[email protected]"
        }
      ],
     "disabled": false
    }

    我在这里使用 Gmail,所以我也允许不太安全的应用程序:开

    enter