我正在尝试使用Azure Functions通过SendGrid发送电子邮件。我有一个具有存储队列触发器和SendGrid输出参数的函数。在队列中添加消息后,该函数运行但没有其他任何事情发生。当我登录Sendgrid时,它显示我没有请求和传递消息。我也没有收到任何电子邮件。
可能导致这种情况的原因是什么?有没有办法进一步调试?
这是我在C#中的功能代码:
public static class SendChatEmail {
[FunctionName ("SendChatEmail")]
public static void Run ([QueueTrigger ("decision-tree-emails", Connection = "AzureWebJobsStorage")] ChatData myQueueItem, [SendGrid (ApiKey = "SendGridApiKey")] out SendGridMessage message,
TraceWriter log) {
log.Info ($"C# Queue trigger function processed: {myQueueItem}");
message = new SendGridMessage ();
message.AddTo ("matti.petrelius@gmail.com");
message.AddContent ("text/html", "Hello there!");
message.SetFrom (new EmailAddress ("matti.petrelius@gmail.com"));
message.SetSubject ("Chat conversation");
}
}
我正在使用:
Azure Functions Core Tools (220.0.0-beta.0)
Function Runtime Version: 2.0.11651.0
Microsoft Visual Studio Enterprise 2017 Version 15.7.1
Azure Functions and Web Jobs Tools - 15.0.40502.0
我还尝试在Node.js中创建一个类似的函数,但没有让它更好地工作。也许我在某种程度上错误地使用SendGrid?
答案 0 :(得分:0)
好的,没关系!事实证明,SendGrid中的仪表板刚刚更新很慢,并且在几个小时之后才显示请求。因此请求被发送和传递,仪表板只是没有显示它。此外,我没有注意到收到电子邮件,因为他们被直接发送到垃圾邮件!所以这是一个误报。 SendGrid绑定的工作方式很好。