Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
asp.net mvc框架,自动发送电子邮件_Asp.net_Visual Studio 2008_Email - Fatal编程技术网

asp.net mvc框架,自动发送电子邮件

asp.net mvc框架,自动发送电子邮件,asp.net,visual-studio-2008,email,Asp.net,Visual Studio 2008,Email,我希望我的asp.net mvc框架系统在每次启动某个操作(在某个控制器内)时都发送一封电子邮件。是否有任何第三方库或.net标准方法来完成此任务?创建一个BaseController,您的所有其他控制器都从该BaseController继承。 在BaseController中,重写OnActionExecuted方法并插入用于发送电子邮件的代码 public class BaseController : Controller { protected override void OnAc

我希望我的asp.net mvc框架系统在每次启动某个操作(在某个控制器内)时都发送一封电子邮件。是否有任何第三方库或.net标准方法来完成此任务?

创建一个BaseController,您的所有其他控制器都从该BaseController继承。 在BaseController中,重写OnActionExecuted方法并插入用于发送电子邮件的代码

public class BaseController : Controller
{
    protected override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        // Send mail here
        base.OnActionExecuted(filterContext);
    }
}

使用.NET发送电子邮件并不难。你可以从你的行动中发送邮件

但是,我认为我们在这里很少谈论日志记录,对于日志记录,有一系列第三方库。我知道有一个叫Log4Net的

大多数日志框架都可以配置日志的存储方式,还可以在日志记录时设置发送电子邮件


但在您的场景中,它只需编写一个普通的简单邮件函数,当用户输入操作时发送邮件。您可以查看:-这是一个使用.NET发送邮件的演示-虽然是webforms,但基本的东西仍然适用于MVC。

一个更先进的方法是使用-这是System.Web.mail的2.0替代品

类似于此,从BaseController(如果有其他需要此功能的控制器)或实际控制器调用

我在静态类中有以下代码,用于处理从服务器邮寄简单纯文本项目:

internal static void SendEmail(MailAddress fromAddress, MailAddress toAddress, string subject, string body)
{
    var message = new MailMessage(fromAddress, toAddress)
                      {
                          Subject = subject,
                          Body = body
                      };

    var client = new SmtpClient("smtpServerName");
    client.Send(message);
}
显然,您可能需要一些错误处理等,例如,如果服务器拒绝连接,Send会引发异常。

任何.NET程序都可以轻松地使用带有其他类的类来发送邮件。您只需要将它指向一个可用且愿意使用的服务器