【问题标题】:Bot Framework - Email Channel To send Email Via Directline C# BotBot Framework - 电子邮件通道通过 Directline C# Bot 发送电子邮件
【发布时间】:2018-12-05 08:38:24
【问题描述】:

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

我已配置 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 文档,机器人从注册邮件中接收所有电子邮件,并且可以回复任何电子邮件,但我想要实现的是明确发送电子邮件,而不是回复任何以前的邮件。对于不仅是电子邮件聊天机器人或部署在网站上的机器人,这样的事情可能吗?

【问题讨论】:

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

标签: c# email botframework bots email-attachments


【解决方案1】:

虽然意图令人钦佩,但完全不推荐这种方法,也不打算以这种方式混合渠道。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-04
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2013-02-21
    • 1970-01-01
    相关资源
    最近更新 更多