Bot Framework - Канал электронной почты для отправки электронной почты через Directline C # Bot - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу использовать канал электронной почты для платформы ботов, чтобы отправлять электронную почту через бота, если бот не может предоставить необходимую помощь.

Я настроил электронную почту outlook office 365 и успешно добавил ее в канал электронной почты своего бота.

Поскольку я никогда не использовал канал электронной почты, прежде чем я не уверен в данных канала, которые должны быть установлены в случае электронной почты, я понятия не имею, что отсутствует или есть какая-то ошибка при создании ответа.

Я хочу отправить прямое электронное письмо от бота на электронный адрес пользователя с некоторыми важными деталями, пользователь, которому будет отправлено электронное письмо, не участвует в разговоре.

Я получаю ошибку неверного запроса при попыткечтобы отправить электронное письмо по следующему коду:

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);
}

Я также хотел бы отправлять вложения по электронной почте и отправлять электронную почту группе (службе поддержки или группе идентификаторов электронной почты), возможно ли это сделать по электронной почтеканал от бота, развернутого на веб-сайте, или есть какие-либо проблемы или риски?

Согласно документации Microsoft бот получает все электронные письма с зарегистрированной почты и может отвечать на любое письмо, но я пытаюсь добиться явной отправки электронной почтыкоторый не является ответом на любое предыдущее письмо.Возможно ли что-то подобное для бота, который не является исключительно чат-ботом по электронной почте или размещен на веб-сайте?

1 Ответ

0 голосов
/ 06 декабря 2018

Несмотря на то, что намерение достойно восхищения, подход не вообще не рекомендуется и не был предназначен для смешивания каналов таким образом.

Николас прав;если вы хотите продемонстрировать несколько каналов, лучше не иметь их в одном

...