2011-01-19 71 views
1

我最近发现了一种在SMTP邮件实际离开SMTP服务器之前审核SMTP邮件的方法。这是通过改变“智能主机”价值的东西,是可能通过编程方式更改IIS的SMTP服务器“智能主机”

  1. 命名不存在
  2. 少于15个字符主机
  3. 在名称中没有时间完成

alt text

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

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

问题

我如何编程修改这个值,所以我可以允许受控排队,审核,和这些电子邮件的版本?

回答

1

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

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

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

顺便说一句,您可以通过编辑您的app.config/web.config中删除您选择的文件夹中的文件可以在“其他”的方向走在您检查电子邮件后,您可以将它们移动到IIS的队列中。

相关问题