Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何让我的机器人向给定的电子邮件地址发送电子邮件?_.net_Email_Botframework_Contact Form - Fatal编程技术网

.net 如何让我的机器人向给定的电子邮件地址发送电子邮件?

.net 如何让我的机器人向给定的电子邮件地址发送电子邮件?,.net,email,botframework,contact-form,.net,Email,Botframework,Contact Form,我正在使用Microsoft bot Framework(.NET)构建一个bot,我需要一个联系人对话框,用户可以在其中写入主题、电子邮件正文以及他希望向其发送电子邮件的用户 例如,假设bot用户正在提问,如果bot无法正确回答问题,我想弹出一个联系人对话框,用户可以通过电子邮件联系管理部门提出问题 据我所知,我可以将电子邮件通道与Office 365电子邮件集成,这样我的机器人就可以回复电子邮件。但是有没有办法发送电子邮件呢?我使用的是直连API通道 提前谢谢你 例如,使用SmptClien

我正在使用Microsoft bot Framework(.NET)构建一个bot,我需要一个联系人对话框,用户可以在其中写入主题、电子邮件正文以及他希望向其发送电子邮件的用户

例如,假设bot用户正在提问,如果bot无法正确回答问题,我想弹出一个联系人对话框,用户可以通过电子邮件联系管理部门提出问题

据我所知,我可以将电子邮件通道与Office 365电子邮件集成,这样我的机器人就可以回复电子邮件。但是有没有办法发送电子邮件呢?我使用的是直连API通道


提前谢谢你

例如,使用
SmptClient
SendGrid
发送电子邮件。StackOverflow上有许多示例,如下所示:


在这种情况下,使用
电子邮件
频道不是一个好主意:它将无法按照您想要的方式管理流量,并且是对该频道的滥用。电子邮件频道与所有其他频道一样,必须用于对话,而不是出于特殊需要立即发送邮件。

例如,使用
SmptClient
SendGrid
发送电子邮件。StackOverflow上有许多示例,如下所示:


在这种情况下,使用
电子邮件
频道不是一个好主意:它将无法按照您想要的方式管理流量,并且是对该频道的滥用。电子邮件频道与所有其他频道一样,必须用于对话,而不是为了特殊需要而立即发送消息。

有一种方法可以让您的机器人发送电子邮件。你应该首先使用电子邮件服务。在我的情况下,我使用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);

有一种方法可以让你的机器人发送电子邮件。你应该首先使用电子邮件服务。在我的情况下,我使用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);

你使用的是Node.js还是.NET?我使用的是.NET,我会编辑我的问题。你使用的是Node.js还是.NET?我使用的是.NET,我会编辑我的问题。所以我应该在我的机器人中实现此功能,使用直连API通道发送电子邮件/消息,而不是创建电子邮件通道,对吗?是的。在您的bot代码中,只需添加代码即可将电子邮件发送到您需要的位置(因此在您的联系人对话框中),这就是您所需的全部OK。如果我不想发送电子邮件,而是想向承载direct line api的应用程序发送消息呢?同样或类似的东西能起作用吗?如果不知道更多细节,我无法回答这个问题。你说的是什么类型的“应用程序”,你如何向这个应用程序发送消息,等等。所以我应该在我的bot中实现这个功能,使用Direct Line API通道发送电子邮件/消息,而不是创建电子邮件通道,对吗?是的。在您的bot代码中,只需添加代码即可将电子邮件发送到您需要的位置(因此在您的联系人对话框中),这就是您所需的全部OK。如果我不想发送电子邮件,而是想向承载direct line api的应用程序发送消息呢?同样或类似的东西能起作用吗?如果不知道更多细节,我无法回答这个问题。你说的是什么类型的“应用程序”,你如何向此应用程序发送消息,等等。我如何获取Api密钥?你应该先订阅SendGrid服务以获取Azure中的Api密钥。我如何获取Api密钥?你应该先订阅SendGrid服务以获取Azure中的Api密钥。