2016-08-04 37 views
1

Ich versuche, die folgenden Zeilen in mein Projekt zu bekommen, um die E-Mail-Funktion von Microsoft Bot Rahmen zu testen:Wie implementiere ich den E-Mail-Service für Microsoft-Roboter

   List<ChannelAccount> participants = new List<ChannelAccount>(); 
       participants.Add(new ChannelAccount("[email protected]", "Shahin Ansari")); 
       IMessageActivity message = Activity.CreateMessageActivity(); 
       bool isGroup = false; 
       ConversationParameters cpMessage = new ConversationParameters(message.Recipient, isGroup, participants, "Quarter End Discussion"); 
       var ConversationId = connector.Conversations.CreateConversationAsync(cpMessage); 
       //message.From = botChannelAccount; 
       message.From = new ChannelAccount(); 
       message.Conversation = new ConversationAccount(); 

       message.ChannelId = "email"; 

       message.Text = "Hey, what's up everyone?"; 

       message.Locale = "en-Us"; 

       connector.Conversations.SendToConversation((Activity)message); 
       //await connector.Conversations.SendToConversation((Activity)message); 
       var replyMessage = activity.CreateReply("Yo, I heard you Sean.", "en"); 
       connector.Conversations.ReplyToActivityAsync(replyMessage); 

Aber ich erhalte keine E-Mail .

Ich weiß, dass die "print" -Anweisung, die das "Yo, ich hörte dich Sean" sendet funktioniert, wenn ich es an die Spitze setze. Aber es ist nicht, wenn es unten ist. In diesen wenigen Zeilen bricht also etwas zusammen. Aber ich weiß nicht, wie ich das Problem beheben soll, wenn ich es nach Azure schicke, und das lokale Debuggen bringt mir nicht viel, da es anscheinend gut zu kompilieren scheint. Hat das schon jemand gemacht?

Ich glaube, ich habe alle von Ihnen vorgeschlagenen Aktualisierungen vorgenommen und an Azure weitergeleitet, es wird jedoch keine E-Mail generiert. Hier ist mein aktualisierter Code:

Antwort

0

Hauptproblem müssen Sie den Conversation-Wert in der Nachricht festlegen. Auch sollte wohl warten auch auf die Asynchron-Funktionen:

 List<ChannelAccount> participants = new List<ChannelAccount>(); 
     participants.Add(new ChannelAccount("[email protected]", "Shahin Ansari")); 
     IMessageActivity message = Activity.CreateMessageActivity(); 
     bool isGroup = false; 
     ConversationParameters cpMessage = new ConversationParameters(message.Recipient, isGroup, participants, "Quarter End Discussion"); 
     var ConversationId = await connector.Conversations.CreateConversationAsync(cpMessage); 
     //message.From = botChannelAccount; 
     message.From = new ChannelAccount(); 
     message.Conversation = new ConversationAccount(); 

     message.ChannelId = "email"; 
 message.Conversation = new ConversationAccount(id: ConversationId.Id); 
 message.Text = "Hey, what's up everyone?"; 

     message.Locale = "en-Us"; 

     connector.Conversations.SendToConversation((Activity)message); 
     //await connector.Conversations.SendToConversation((Activity)message); 
     var replyMessage = activity.CreateReply("Yo, I heard you Sean.", "en"); 
     await connector.Conversations.ReplyToActivityAsync(replyMessage); 
+0

Dank. Es funktioniert. Es gibt einige Dinge, die ich fein abstimmen muss, aber die E-Mails werden generiert. – maverick