阻止发送邮件

时间:2009-06-26 01:05:33

标签: c#

我是一名Windows窗体程序员。我们通常将功能编程到用户控件中。 许多时间功能需要发送电子邮件。

我想做一些事情: - 如果我设置标志“此应用程序正在测试模式下运行”。然后从应用程序发送的所有邮件(来自任何用户控件) 应该被阻止。

请记住,我不想在现有的用户控件中进行任何更改。或发送lib的邮件。我希望这只能在容器中完成,或者更确切地说在Program.cs文件中完成。

由于

3 个答案:

答案 0 :(得分:4)

您可以使用Inversion of Control。有,例如,一个IMailer接口,由RealMailer和TestingMailer实现。 RealMailer实际上会发送一封电子邮件,而TestingMailer会默默地发送邮件。配置注入RealMailer的Production配置,以及注入TestingMailer的Testing配置。

答案 1 :(得分:0)

这些设置应该放在你的app.config文件中,在这种情况下是smtp服务器地址。然后只需将该值更改为为测试环境清空,这样您的邮件便无处可去。

答案 2 :(得分:0)

如果您想将其关闭以进行本地调试,那么您可以这样做。

#if DEBUG
    CallMethod();
#endif

否则,Matthew Flaschen的答案很有效。