Rot*_*zky 6 azure sendgrid azure-functions sendgrid-templates
尝试使用带有 azure 函数 sendgrid 集成 (javaScript) 的事务模板,我正在发送以下对象(已删除的电子邮件地址等):
const message =
{
"personalizations":[
{
"to":[
{
"email":"[MY_EMAIL]",
"name":"Rotem"
}
],
"dynamic_template_data":{
"rotem_test1":"wow"
}
}
],
"from":{
"email":"[FROM_EMAIL]",
"name":"name"
},
"reply_to":{
"email":"[REPLY_EMAIL]",
"name":"name"
},
"template_id":"[CORRECT_TEMPLATE_ID]",
"tracking_settings":{
"click_tracking":{
"enable":true
}
}
}
context.done(null,message);
Run Code Online (Sandbox Code Playgroud)
也尝试使用context.done(null,JSON.stringify(message))相同的结果:我从正确的模板中收到一封电子邮件,但没有任何替换。
当https://api.sendgrid.com/v3/mail/send
使用邮递员使用API发送完全相同的对象时,一切正常。
很想在这里获得帮助,了解我在 azure 函数上做错了什么。
你做的一切都是正确的,因为你可以按预期接收电子邮件。
问题是由 SDK 版本引起的。dynamic_template_data最新的9.10.0 Sendgrid C# SDK刚刚增加了属性,但是绑定扩展还是用的老版本,不知道是什么dynamic_template_data。
对于 2.x 功能(检查 Azure 门户上的功能应用设置,请参阅运行时版本:2.xxx (~2)),我们可以在更新扩展之前手动安装新版本的 SDK。
如果在本地开发
<PackageReference Include="Sendgrid" Version="9.10.0" />。func extensions install恢复包。Azure 门户上的其他内容
<PackageReference Include="Sendgrid" Version="9.10.0" />并保存更改。dotnet build extensions.csproj -o bin --no-incremental --packages D:\home\.nugetBuild succeeded,启动函数应用。对于 1.x 函数(运行时~1),恐怕我们必须使用sendgrid 节点模块手动发送电子邮件,1.x 函数中的 Sendgrid 版本被锁定因此无法更新。
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |