Microsoft.Bot.Connector - 收件人地址指的是未知的

Posted

技术标签:

【中文标题】Microsoft.Bot.Connector - 收件人地址指的是未知的【英文标题】:Microsoft.Bot.Connector - The To Address refers to which is not a known 【发布时间】:2016-04-12 23:06:08 【问题描述】:

我正在开发一个用于电子邮件渠道 (Office 365) 的机器人。

我正在努力实现“与用户开始新对话”,即机器人应在收到某些触发器后启动与用户的对话。

我引用了http://docs.botframework.com/ 上的示例。

    var connector = new ConnectorClient();

    Message newMessage = new Message();
    newMessage.From = new ChannelAccount()   Address = "[email the bot is registered with]", Name = "Awesome Bot", ChannelId = "email", IsBot = true ;
    newMessage.To = new ChannelAccount()   Address = user.Email, Name = $" user.FirstName  user.LastName", ChannelId = "email", IsBot = false ;
    newMessage.Text = message;
    newMessage.Language = "en";

    connector.Messages.SendMessage(newMessage);

机器人在 Azure 中运行并在框架中注册。 当我调用上面的代码时,看起来连接器正在向 api.botframework.com 发送请求,但收到了状态码 404。我还看到以下错误消息:

收件人地址是指未知的[用户电子邮件]

听起来错误已被切断。我不确定我在这里做错了什么。

【问题讨论】:

【参考方案1】:

我们担心垃圾邮件发送者滥用通过我们的服务器发送电子邮件的能力,因此我们限制了向尚未参与对话的人或系统用户发送消息的能力。我们的想法是,我们将启用此功能,作为我们目录或付费客户批准的一部分。

【讨论】:

不幸的是,当无法完全测试时,很难承诺在目录中发布任何内容。对可以达到多少参与者设置一个合理的限制不是更好吗?此限制是否仅适用于电子邮件渠道?我需要找到一种方法让机器人按照设定的时间表联系订阅的参与者,并且我假设我不能只存储对话 ID 并在每次机器人想要联系订阅者时重复使用。知道如何通过电子邮件渠道实现(和测试)开始对话吗?提前感谢您! @OlegB 你最终弄明白了吗? 这是事后的事,所以它可能不再对@OlegB 有用,但我不确定你不能只保存和重用对话。我使用的是 Facebook 渠道而不是电子邮件,但至少在我的情况下,这或多或少是处理主动消息的方式 - 通过重用旧对话中保存的信息。

以上是关于Microsoft.Bot.Connector - 收件人地址指的是未知的的主要内容,如果未能解决你的问题,请参考以下文章