另外你的的服务器防火墙是不是没有打开smtp的端口25呢?

解决方案 »

  1.   

    还有一个可能性,就是有的防火墙有禁止massive mail sending的功能,需要设置。
      

  2.   

    用IIS 6.0 预览正常,直接用IE访问就执行“Response.Write("服务器内部出错!"); ”,提示:服务器内部出错!
    我把防火墙都关了还是不行..
      

  3.   

    在服务器的的commond line里telnet 11.177.66.6 25.看看能不能登录
      

  4.   

    还有在event viewer里的application中看看有没有相关的错误信息。
      

  5.   

    啊,你catch了所有的exception,在catch里面写些log什么的,看看是什么异常。  catch 
            { 
                Response.Write("服务器内部出错!"); 
            } 
      

  6.   

    问题找出来了。真实来源要查询数据库中的ipaddress表,当记录集为空的时候,邮件发送失败。。调试环境中IP地址是:127.0.0.1,数据中标记的是本地环路,而客户机的真实地址数据库中并未标注,所以发送失败。不过还要感谢大家给予的热情帮助。。谢谢!<STRONG>真实来源: </STRONG> </FONT>" + unit_1(toint(GetIP())) + " <BR>"  
       private string unit_1(int ipadd) 
        { 
            ConnectionStringSettings connstring = conns(); 
            SqlConnection thisconnection = new SqlConnection(connstring.ConnectionString); 
            try 
            {        
                string unit_2 = "SELECT unit FROM ipaddress WHERE (" + ipadd + " BETWEEN startip AND endip)"; 
                thisconnection.Open(); 
                DataSet data = new DataSet(); 
                SqlDataAdapter myAdapter1 = new SqlDataAdapter(unit_2, thisconnection); 
                myAdapter1.Fill(data, "lnzd"); 
                if (data.Tables["lnzd"].Rows[0][0].ToString() != "") 
                { 
                    string zj = data.Tables["lnzd"].Rows[0][0].ToString(); 
                    thisconnection.Close(); 
                    return (zj); 
                } 
                else 
                { 
                    string zj = "来源不明"; 
                    thisconnection.Close(); 
                    return (zj); 
                }        
            } 
            finally 
            { 
                thisconnection.Close(); 
            } 
        }