You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elsa Workflow配置SMTP后SendEmail报错host参数为空如何解决?

问题根源

Startup.cs中调用AddEmailActivities(elsaSection.GetSection("Smtp").Bind)时,是从Elsa配置节点下读取Smtp子节点的配置,但appsettings.json里的Smtp节点放在了和Elsa平级的位置,导致Elsa无法读取到SMTP配置项,最终抛出host参数为空的错误。你自行编写的发邮件函数可以正常运行,是因为你直接读取了根层级的Smtp配置,不受该层级错位影响。

解决方法

可任选以下一种方案修改:

方案1:调整appsettings.json配置层级

将Smtp节点移动到Elsa节点内部,修改后的配置参考:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "Elsa": {
    "Server": {
      "BaseUrl": "http://localhost:5001"
    },
    "Smtp": {
      "Host": "smtpserver.domainname",
      "Port": "25",
      "DefaultSender": "xxxxxxx.xxxxx@xxxxxxxxxxx.com"
    }
  },
  "AllowedHosts": "*"
}

方案2:修改Startup.cs配置读取路径

不改动现有appsettings.json层级,直接修改AddEmailActivities的绑定源为根层级的Smtp节点:

// 把原来的.AddEmailActivities(elsaSection.GetSection("Smtp").Bind)
// 改成下面的写法
.AddEmailActivities(Configuration.GetSection("Smtp").Bind)

修改完成后重启Elsa Server即可,原生SendEmail节点可正常读取SMTP配置发送邮件。

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 14:51:02