【问题标题】:Possible to programatically change IIS's SMTP server "Smart Host"可以以编程方式更改 IIS SMTP 服务器“智能主机”
【发布时间】:2011-01-19 00:05:50
【问题描述】:

我最近发现了一种在 SMTP 电子邮件实际离开 SMTP 服务器之前对其进行审核的方法。这是通过将“智能主机”值更改为

  1. 命名一个不存在的主机
  2. 少于 15 个字符
  3. 名称中没有句点

这使我可以使用 Outlook Express 查看邮件、检查文件附件以及通过 System.Net.Mail 以编程方式生成的其他内容

我通过将其更改为有效值并重新启动 SMTP 服务来释放消息。

问题

如何以编程方式更改此值,以便允许这些电子邮件消息的受控排队、审核和发布?

【问题讨论】:

    标签: c# iis smtp windows-server-2008 wmi


    【解决方案1】:

    您可以使用 IIS WMI 提供程序以编程方式执行此操作。 SmartHost 属性可以在 IIsSmtpServiceIIsSmtpServer 对象上找到。在 Windows Server 2008 上,您需要安装 IIS 6.0 WMI 兼容性。像下面这样的东西应该可以工作。

    public static void ConfigureSmtpHost()
    {
        DirectoryEntry smtpServer = new DirectoryEntry("IIS://LOCALHOST/SMTPSVC/1");
        smtpServer.Properties["SmartHost"].Value = "myNewSmartHost";
        smtpServer.CommitChanges();
    }
    

    【讨论】:

      【解决方案2】:

      哎哟!一种方法可能是只创建一个直接编辑元数据库的程序,然后重新启动 SMTPSVC。我确信 WMI 有办法,但我不知道。

      顺便说一句,您可以通过编辑 app.config/web.config 以将文件放到您选择的文件夹中,从而转向“其他”方向:

      http://msdn.microsoft.com/en-us/library/ms164241.aspx

      检查电子邮件后,您可以将它们移动到 IIS 的队列中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-26
        • 2011-02-24
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 2012-02-02
        • 1970-01-01
        相关资源
        最近更新 更多