2009-04-14 37 views
1

我有这样的代码来发送邮件:如何在WinXP中使用IIS 5.1发送邮件?

public bool SendMail(MailMessage message) 
{ 
    message.From = new MailAddress(AppProperties.FromMailAddress, AppProperties.FromDisplayName); 
    SmtpClient smtp = new SmtpClient { EnableSsl = AppProperties.EnableSsl }; 
    try 
    { 
     smtp.Send(message); 
     return true; 
    } 
    catch (Exception) 
    { 
     return false; 
    } 
} 

,并配置了web.config中发送邮件使用IIS 5.1邮件localhost通过这种(被回答的建议):

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="Network"> 
     <network host="localhost" 
       userName="" 
       password="" 
       defaultCredentials="false" 
       port="25" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

做什么我必须在Windows XP中使用我的IIS 5.1发送邮件吗?有可能做到这一点?正如你所说,我想是的,因为我没有得到任何例外,但我没有收到它的目的地。如果我应该提供用户和密码,那肯定是?

+0

当你运行这段代码时会发生什么? – JoshJordan 2009-04-14 18:33:39

回答

3

你应该先安装SMTP服务器(Windows组件> IIS> SMTP服务)然后将其配置为启用中继。

IIS>默认SMTP服务器>属性 访问>验证

访问控制>匿名访问 - 经过

中继限制>继电器>选择 - 仅下面的列表>添加> 127.0.0.1

1

确定有可能,您将不再需要使用SSL。在配置文件中,你的端口可能是25,你可能需要也可能不需要用户名/密码,当然你的主机名也会改变。

另外请确保您安装SMTP组件与IIS一起。

0

是的,你可以把它这种方式:d(但我认为你需要使用端口25)SMTP类是.NET的一部分