问题描述
我正在尝试运行基本的 Elsa 工作流程。我使用我的工作流定义运行 Elsa 服务器,它非常简单 - 一个 http 端点,然后是 SendEmail。截图如下。
我正在使用邮递员来测试它,但每次我在 SendEmail 中的工作流的新实例上收到以下错误消息时:
{
"Type": "System.ArgumentNullException","Message": "Value cannot be null. (Parameter 'host')","StackTrace": " at MailKit.Net.Smtp.SmtpClient.ConnectAsync(String host,Int32 port,SecureSocketoptions options,Boolean doAsync,CancellationToken cancellationToken)\r\n at Elsa.Activities.Email.Services.MailKitSmtpService.SendOnlineMessage(MimeMessage message,CancellationToken cancellationToken)\r\n at Elsa.Activities.Email.Services.MailKitSmtpService.SendAsync (ActivityExecutionContext context,MimeMessage message,CancellationToken cancellationToken)\r\n at Elsa.Activities.Email.SendEmail.OnExecuteAsync(ActivityExecutionContext context)\r\n at Elsa.Services.Workflows.WorkflowRunner.TryExecuteActivityAsync(ActivityOperation activityOperation,ActivityExecutionContext activityExecutionContext,IActivity activity,CancellationToken cancellationToken)","InnerException": null
}
我的 startup.cs 配置了 SMTP:
var elsaSection = Configuration.GetSection("Elsa");
// Elsa services.
services
.AddElsa(elsa => elsa
.UseEntityFrameworkPersistence(ef => ef.UsesqlServer("Server=localhost;Database=Elsa;User ID=xxxxxxx;Password=xxxxxxxxxxxxxx;"))
.AddConsoleActivities()
.AddHttpActivities(elsaSection.GetSection("Server").Bind)
.AddEmailActivities(elsaSection.GetSection("Smtp").Bind)
.AddQuartzTemporalActivities()
.AddWorkflowsFrom<Startup>()
);
// Elsa API endpoints.
services.AddElsaApiEndpoints();
// For Dashboard.
services.AddRazorPages();
我的 appsettings.json 如下:
{
"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": "*"
}
smtp 主机被指定为网络 smtp 服务器,所以我不明白为什么我会收到缺少主机参数的错误。 如果有人可以提供帮助,我们将不胜感激。
附言我创建了自己的自定义函数,使用相同的 smtp 详细信息发送电子邮件,效果很好,但我需要使用标准版本。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)