c# - 从 MVC3 .Net 应用程序发送的集成测试电子邮件

标签 c# asp.net-mvc email integration-testing

在 .NET MVC3 Web 应用程序的开发环境中为邮件服务生成可靠的集成测试结果的好方法是什么?电子邮件服务已经隔离在一个接口(interface)后面,并且为它编写了单元测试,但我很好奇是否有任何好的、通用的工具或策略可以使它变得容易,而不是向一些电子邮件地址发送垃圾邮件并拥有一些完整的-在某处设置了 smtp 服务器。

应该容易测试的东西应该是:
- 如果设置正确,是否可以发送电子邮件
- 如果设置不正确,我们能否检测到它并恢复该状态。

最佳答案

如果您使用 web.config 来存储您的 SMTP 服务器设置,一个很好的提示是您可以使用以下配置将所有发送的电子邮件转储到您开发环境的目录中。

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="c:\email"/>
      <network host="localhost"/>
    </smtp>
  </mailSettings>
</system.net>

关于c# - 从 MVC3 .Net 应用程序发送的集成测试电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018947/

相关文章:

c# - 从 c++11 time_t 创建一个可转换为 .net DateTime 的字符串

c# - 使用 IronPython 针对 .NET 程序集进行编码的问题,特别是在 app.config 方面

asp.net-mvc - 将 RequestVerificationToken 从 Angular js 传递到 mvc Controller

asp.net-mvc - ModelState.IsValid 在 NerdDinner 的 ASP.NET MVC 中有效吗?

ruby-on-rails - 如何在 Rails Mailer 上向电子邮件发件人添加图像或缩略图?

php - swift mailer 发送到队列以便稍后发送

c# - 异步等待未在预期线程上执行

c# - 如何在 Visual C# 中打开连接之前检查 COM 端口是否存在

asp.net-mvc - MVC 4 代码优先ForeignKeyAttribute 属性...类型...无效

php - 将电子邮件回复存储在 mysql 数据库中 (PHP)