禁止在asp.net中发送电子邮件

时间:2013-03-01 17:30:16

标签: asp.net

是否有一种简单的方法可以禁用在asp.net中发送邮件?我正在使用webforms,但我不想在开发服务器上工作时发送电子邮件。我可以评论我的系统发送电子邮件的每个地方,但我认为有一种更简单的方法。

由于

4 个答案:

答案 0 :(得分:5)

希望您集中“发送电子邮件”功能。然后很容易。检查您是否是本地/调试:

HttpContext.Current.Request.IsLocal || HttpContext.Current.IsDebuggingEnabled

并做出适当的回应。

我选择实际发送电子邮件,但我将to更改为我的电子邮件帐户,并添加一条关于toccbcc的用户的额外消息在消息中(并确保您清除所有这些字段,因此没有发送真正的电子邮件)。这样您就可以判断您的发送电子邮件是否按预期工作 - 特别是如果您要切换模板,替换电子邮件中的数据等等。

如果你没有集中你的“发送电子邮件”功能......可能是时候咬紧牙关了。

答案 1 :(得分:0)

一般来说,处理此问题的最简单方法是在电子邮件配置文件中。通常它是数据库或web.config设置。您要查找的是定义用于发送消息的邮件服务器名称的部分。

答案 2 :(得分:0)

做你想做的最简单的方法涉及一些架构:

应用程序发送到的所有电子邮件地址都应该是web.config中的变量,此时可以轻松复制并注释掉电子邮件地址字符串行并设置所有电子邮件给您。

否则,您必须注释掉电子邮件的逐行发送位置,当您推送产品时,许多文件中的电子邮件变得非常容易出错,或者您的应用程序会在您的测试期间发送电子邮件时超时。

您还可以使用属性:http://msdn.microsoft.com/en-us/library/65zdfbdt%28v=vs.71%29.aspx

答案 3 :(得分:0)

我建议:

  1. 使用configSource进行与环境相关的设置(例如,具有App_Data \ config \ dev和App_Data \ config \ live等)。
  2. 在开发配置文件中,只有一个空的SMTP设置,如-

不会发送电子邮件,也不会引发异常(至少是我正在使用的.NET框架的4.5.2。

希望这会有所帮助。