SMTP电子邮件在ASP.NET7 + II7中不起作用,但在Telnet中工作

时间:2010-08-06 00:07:53

标签: asp.net iis-7 smtp

基本上,我们购买了一台带有 Windows Server 2008 R2,IIS 7.5 的新服务器,并设置了一台SMTP服务器。没有特殊设置。使用的代码在 Windows Server 2003,IIS6 中运行良好。

以下是设置摘要

  1. 端口25,全部未分配
  2. 匿名访问
  3. 127.0.0.1被授予中继访问权限
  4. 为出站设置匿名访问权限 安全性。
  5. 我可以通过 telnet 127.0.0.1 25

    发送电子邮件

    问题是我无法通过发送朋友Asp.Net页面发送电子邮件。

    对于IIS7中的ASP.NET SMTP电子邮件,这是我的设置

    1. 向SMTP服务器发送电子邮件: 127.0.0.1,端口25
    2. 身份验证设置:不需要
    3. 在我的web.config中,我有以下内容:

      <system.net>
        <mailSettings>
          <smtp>
            <network host="127.0.0.1" port="25" />
          </smtp>
        </mailSettings>
      </system.net>
      

      这是代码隐藏代码:

      MailMessage M = new MailMessage();
      M.Subject = subject;
      .To.Add(new MailAddress(e1, f1));
      M.From = new MailAddress(sendemail, sendname);
      M.ReplyTo = new MailAddress(sendemail, sendname);
      M.IsBodyHtml = true;
      M.Body = email_message;
      
      SmtpClient sClient = new SmtpClient();
      sClient.Send(M);
      

      以下是事件日志信息:

      流程信息:     进程ID:2840     进程名称:w3wp.exe     帐户名称:NT AUTHORITY \ NETWORK SERVICE

      异常信息:

      • 异常类型:WebException
      • 异常消息:无法连接 到远程服务器

      请求信息:

      • 请求网址:...
      • 请求路径:...
      • 用户主机地址:...
      • 用户:
      • 经过身份验证:错误
      • 身份验证类型:
      • 线程帐户名称:NT AUTHORITY \ NETWORK SERVICE

      有关为什么我可以通过telnet而不是asp.net页面发送电子邮件的任何想法? 再一次,这个发送朋友的aspx页面在Windows Server 2003中运行良好。

      我也引用了这个页面http://forums.iis.net/t/1157046.aspx,我想知道我错过了什么。 谢谢!

1 个答案:

答案 0 :(得分:3)

我前段时间也遇到过这种情况:

这对我有用:(你有2个IIS管理控制台)

IIS6管理控制台(是IIS 6)中,右键单击虚拟服务器,选项卡访问,单击连接,授予对127.0.0.1的访问权限,单击中继,授予对127.0.0.1的访问权限。

说到IIS7,我真的不太了解,我只是解决了我遇到的问题,让我的应用程序正常运行。我的服务器是专业托管的,所以当它不能正常工作时,通常会有一个管理员给我一个解决方案,或者我在它周围工作。