如何使我的机器人将电子邮件发送到给定的电子邮件地址?

时间:2018-12-19 09:05:40

标签: .net email botframework contact-form

我正在使用Microsoft Bot Framework(.NET)构建一个机器人,我想要一个“联系人”对话框,用户可以在其中编写主题,电子邮件的正文以及要将电子邮件发送到的用户。

例如,假设机器人用户在提问,如果机器人无法正确回答问题,我想抛出一个联系对话框,用户可以通过电子邮件与主管联系以询问他/她的问题。

据我所知,我可以将电子邮件频道与Office 365电子邮件集成在一起,以便我的机器人可以应答电子邮件。但是,有没有办法发送电子邮件?我正在使用Direct Line API通道。

谢谢你!

2 个答案:

答案 0 :(得分:2)

例如,使用SmptClientSendGrid发送电子邮件。 StackOverflow上有许多示例,如下所示:Send e-mail via SMTP using C#

在这种情况下,使用Email频道不是一个好主意:它不会像您想要的那样管理流,并且是对该频道的滥用。电子邮件渠道是与其他渠道一样的渠道,必须用于对话,而不是出于特殊需要立即发送消息。

答案 1 :(得分:1)

您的漫游器有一种发送电子邮件的方法。您应该首先使用电子邮件服务。在我的情况下,我使用SendGrid。代码如下:

             System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
             SmtpClient SmtpServer = new SmtpClient("smtp.sendgrid.net");

             mail.From = new MailAddress("youremailaddress@gmail.com");
             mail.To.Add(useremail);
             mail.Subject = "";
             mail.Body ="";

             SmtpServer.Port = 587;
             SmtpServer.Credentials = new System.Net.NetworkCredential("apikey", "");
             SmtpServer.EnableSsl = true;

             SmtpServer.Send(mail);