Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Bot框架-通过Directline C Bot发送电子邮件的电子邮件通道_C#_Email_Botframework_Bots_Email Attachments - Fatal编程技术网

C# Bot框架-通过Directline C Bot发送电子邮件的电子邮件通道

C# Bot框架-通过Directline C Bot发送电子邮件的电子邮件通道,c#,email,botframework,bots,email-attachments,C#,Email,Botframework,Bots,Email Attachments,如果bot无法提供所需帮助,我想使用bot框架的电子邮件通道通过bot发送电子邮件 我已配置outlook office 365电子邮件,并已成功添加到我的机器人的电子邮件频道 由于我以前从未使用过电子邮件频道,因此我不确定在使用电子邮件时必须设置的频道数据,我不知道缺少了什么,也不知道回复创建中是否有错误 我想从bot直接发送电子邮件到用户的电子邮件id,其中包含一些相关详细信息,电子邮件将发送给的用户不参与对话 尝试通过以下代码发送电子邮件时,我收到错误的请求错误: ChannelAccou

如果bot无法提供所需帮助,我想使用bot框架的电子邮件通道通过bot发送电子邮件

我已配置outlook office 365电子邮件,并已成功添加到我的机器人的电子邮件频道

由于我以前从未使用过电子邮件频道,因此我不确定在使用电子邮件时必须设置的频道数据,我不知道缺少了什么,也不知道回复创建中是否有错误

我想从bot直接发送电子邮件到用户的电子邮件id,其中包含一些相关详细信息,电子邮件将发送给的用户不参与对话

尝试通过以下代码发送电子邮件时,我收到错误的请求错误:

ChannelAccount botAccount = new ChannelAccount(  
  id: $"{ConfigurationManager.AppSettings["BotEmail"]}".ToLower(),
  name: $"{ConfigurationManager.AppSettings["BotId"]}")
  { Id = ConfigurationManager.AppSettings["BotEmail"]};  
ChannelAccount userAccount = new ChannelAccount(  
  id: $"{ConfigurationManager.AppSettings["UserEmail"]}", 
  name: "Vanjuli")
  { Id = ConfigurationManager.AppSettings["UserEmail"]}; 

  var serviceURL = @"https://email.botframework.com/";  
  MicrosoftAppCredentials.TrustServiceUrl(serviceURL, DateTime.MaxValue);
 using (var _connector = new ConnectorClient(new Uri(serviceURL)))  
 {   
  ConversationResourceResponse conversationId = await _connector.Conversations.CreateDirectConversationAsync(botAccount, userAccount);
  IMessageActivity reply = Activity.CreateMessageActivity();
  reply.From = botAccount;  
  reply.Recipient = userAccount;
  ConversationAccount conversationAccount = new ConversationAccount(id: conversationId.Id);
  reply.Conversation = new ConversationAccount(id: conversationId.Id);
  reply.Text = "This is dummy text of an email!";
  reply.Locale = "en-Us";   
  await _connector.Conversations.SendToConversationAsync((Activity)reply);
}
我还想通过电子邮件发送附件,并将电子邮件发送至集团服务台或一组电子邮件ID,是否可以通过网站上部署的机器人通过电子邮件渠道发送附件,或者是否存在任何挑战或风险


根据Microsoft文档,bot接收来自注册邮件的所有电子邮件,并可以回复任何电子邮件,但我试图实现的是明确发送电子邮件,而不是回复以前的任何邮件。对于不仅仅是电子邮件聊天机器人或部署在网站上的机器人来说,这样的方式可能吗?

虽然目的令人钦佩,但根本不推荐这种方法,也不打算以这种方式混合频道


尼古拉斯是正确的;如果您想展示多个频道,最好不要将它们放在单个

中以确保:您的机器人部署在电子邮件以外的其他频道上,在某些情况下,您的目标是在机器人无法在这些频道上应答时发送电子邮件,对吗?是,directline bot正在使用webchat频道,并作为帮助助手呈现在SharePoint网站上。它会引导用户进行查询,对于无法找到答案的查询,它必须向某个支持小组发送电子邮件,其中包含用户提供的相关问题说明或附件。好的,如果工作流仅如您所说,我强烈建议避免映射电子邮件通道,只需使用您喜欢的任何发件人发送您的电子邮件SmtpClient、SendGrid。。。。使用电子邮件频道太难了是的,我可以理解你的观点,但我想尝试使用电子邮件频道来展示机器人如何使用多个频道。我想知道我在发送回复时犯了什么错误。我的客户热衷于使用电子邮件渠道,并希望我们首先探索这一点,因此,如果可能的话,使用电子邮件渠道对我来说很重要。如果你想展示多个渠道的使用情况,请使用多个渠道执行正常的工作流程。不是一次发送,这不是多通道的目的。如果您希望获得有关错误的更多帮助,请添加有关错误的更多详细信息