Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/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
C# 发送电子邮件通知的设计问题_C#_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

C# 发送电子邮件通知的设计问题

C# 发送电子邮件通知的设计问题,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我有一个非常基本的问题,但是解决方案可能有点复杂 网站开发者如何发送电子邮件,如忘记密码链接、注册信息和/或任何其他需要发送的通知 开发人员是否将消息存储在SQL server(一个单独的类)XML中 我使用的是洋葱模型,我的SMTP接口位于app.core中,但是我发送邮件的基类位于infrastructure.backends中。我不希望我的应用程序服务依赖于后端,不确定这是对是错还是我是强迫症 我在c#you System.Net.Mail中使用Ninject作为我的IOC/DI。我会为你

我有一个非常基本的问题,但是解决方案可能有点复杂

  • 网站开发者如何发送电子邮件,如忘记密码链接、注册信息和/或任何其他需要发送的通知
  • 开发人员是否将消息存储在SQL server(一个单独的类)XML中
  • 我使用的是洋葱模型,我的SMTP接口位于app.core中,但是我发送邮件的基类位于infrastructure.backends中。我不希望我的应用程序服务依赖于后端,不确定这是对是错还是我是强迫症

    我在c#you System.Net.Mail中使用Ninject作为我的IOC/DI。我会为你做大部分事情。

    在c#you System.Net.Mail中。我会为你做大部分事情。

    使用。我认为这是开发电子邮件模板最有效的方法。构建架构时可以牢记这一点。它允许我们在不重新编译代码的情况下更改模板

    根据体系结构,我在将其作为应用程序服务的一部分方面没有遇到任何问题。

    使用。我认为这是开发电子邮件模板最有效的方法。构建架构时可以牢记这一点。它允许我们在不重新编译代码的情况下更改模板


    根据体系结构,我在将其作为应用程序服务的一部分方面没有遇到任何问题。

    如果您发送html电子邮件,我会使用精简的主/布局页面和视图。然后我让控制器将该视图呈现为一个字符串,以便在电子邮件中使用。它就像其他mvc视图和模型一样

    如果您发送html电子邮件,我会使用精简的主/布局页面和视图。然后我让控制器将该视图呈现为一个字符串,以便在电子邮件中使用。它就像其他mvc视图和模型一样

    根据我发现的一篇帖子稍作修改,这似乎是正确的滚动方式。至少这是一个开始。
    公共接口IViewMailer { 字符串RenderPartialViewToString(字符串视图名称、对象模型、ControllerContext ControllerContext); }


    从我发现的一篇帖子中稍微修改一下,这似乎是正确的滚动方式。至少这是一个开始。
    公共接口IViewMailer { 字符串RenderPartialViewToString(字符串视图名称、对象模型、ControllerContext ControllerContext); }


    让我澄清一下,我非常熟悉System.Net.Mail名称空间。我想我的问题更像是一个架构问题。发送电子邮件很简单;)让我澄清一下,我非常熟悉System.Net.Mail名称空间。我想我的问题更像是一个架构问题。发送电子邮件很简单;)这看起来很有趣,它使用视图作为模板。。现在检查这个。邮政+1-我现在用它,它摇滚。在视图中编写电子邮件比在字符串中构建HTML要好得多。这看起来很有趣,它使用视图作为模板。。现在检查这个。邮政+1-我现在用它,它摇滚。在视图中编写电子邮件比在字符串中构建HTML要好得多。再也没有了。公平地说,OP没有添加关于
    System.Net.Mail
    的评论,直到添加了这个答案。噢,它让我来修复你。。。请告诉先生任何负面消息。公平地说,OP没有添加关于
    System.Net.Mail
    的评论,直到添加了此答案。噢,让我来修复你。。。告诉先生任何负面的事情。哈哈。我刚想说,想了想,把这个该死的视图渲染成一个字符串,然后发射。。。太酷了,哈哈。我刚想说,想了想,把这个该死的视图渲染成一个字符串,然后发射。。。太酷了。
    public class ViewMailer : IViewMailer
    {
        #region IViewMailer Members
    
        public string RenderPartialViewToString(string viewName, object model, ControllerContext controllerContext)
        {
            if (string.IsNullOrEmpty(viewName))
    
                viewName = controllerContext.RouteData.GetRequiredString("action");
            controllerContext.Controller.ViewData.Model = model;
            using (var stringWriter = new StringWriter())
            {
                ViewEngineResult viewEngineResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
                var viewContext = new ViewContext(controllerContext, viewEngineResult.View,
                                                  controllerContext.Controller.ViewData,
                                                  controllerContext.Controller.TempData, stringWriter);
                viewEngineResult.View.Render(viewContext, stringWriter);
                return stringWriter.GetStringBuilder().ToString();
            }
        }
    
        #endregion
    }