可以以编程方式更改IIS SMTP服务器“智能主机”

时间:2011-01-19 00:05:50

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

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

来实现
  1. 命名为不存在的主机
  2. 少于15个字符
  3. 名称中没有句号
  4. alt text

    这允许我通过System.Net.Mail

    查看Outlook Express的邮件,检查文件附件以及其他以编程方式生成的内容

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

    问题

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

2 个答案:

答案 0 :(得分:1)

您可以使用IIS WMI提供程序以编程方式执行此操作。可以在SmartHostIIsSmtpService对象上找到IIsSmtpServer属性。在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();
}

答案 1 :(得分:0)

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

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

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

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