Bot Framework-电子邮件渠道,用于通过Directline C#Bot发送电子邮件

时间:2018-12-05 08:38:25

标签: c# email botframework bots email-attachments

如果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的规定,该机器人将从注册的邮件中接收所有电子邮件,并且可以回复任何电子邮件,但是我要实现的目标是明确发送电子邮件,而不是对之前的任何邮件进行回复。对于不只是电子邮件聊天机器人或部署在网站上的机器人,这样的事情是否可行?

1 个答案:

答案 0 :(得分:1)

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

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