写了一个发送邮件的代码,在VS2005 .NET开发环境下可以发送成功,但是发布到IIS上就发送失败了。     提示:  傳送郵件失敗。GeneralFailure 
     
     求救高手指点!!!!     ----------------------------------------------------------------------------------------------
     System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();     msg.From = new MailAddress("****@gmail.com", "ibag", System.Text.Encoding.UTF8);     msg.To.Add("****@sina.com.cn");
    
     msg.Subject = "这是测试邮件";//邮件标题
         msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
         msg.Body = "邮件内容";//邮件内容
         msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
         msg.IsBodyHtml = false;//是否是HTML邮件
         msg.Priority = MailPriority.High;//邮件优先         SmtpClient client = new SmtpClient();
     client.Credentials = new System.Net.NetworkCredential("****@gmail.com", "****");
     client.Port = 25;
     client.Host = "smtp.gmail.com";
     client.EnableSsl = true;        try
        {
            client.Send(msg);
            //简单一点儿可以client.Send(msg);
            Response.Write("Send successfully!");        }
        catch (System.Net.Mail.SmtpException ex)
        {
            Response.Write(ex.Message + ex.StatusCode.ToString());
        } 

解决方案 »

  1.   

    找不到指定的SMTP服务器
    检查下你的设置 client.Credentials = new System.Net.NetworkCredential("****@gmail.com", "****");
    是否正确
      

  2.   

    拷贝错了
    检查这个设置是否正确
    client.Host = "smtp.gmail.com";
      

  3.   

    网站服务器上的Host文件里面有添加smtp.gmail.com的域名解析吗??
      

  4.   


    Host文件没有添加,只有这个:
    127.0.0.1       localhost我的VS2005和IIS在同一台机器上,VS2005可以发送成功,域名解析smtp.gmail.com应该没有问题吧
      

  5.   

    奇怪啦
    GeneralFailure消息就是指的找不到指定的SMTP服务器
      

  6.   


    是啊,就是不知道为啥发布到IIS上出现这个错误,郁闷
      

  7.   

    使用sina和163的smtp服务器提示同样的错误,但是用公司内部的smtp服务器在IIS上可以发送成功,不过只能发送内部邮件。
      

  8.   

    这个是具体的异常,高手再帮忙看看:
    傳送郵件失敗。 GeneralFailure System.Net.WebException: 無法連接至遠端伺服器 ---> System.Net.Sockets.SocketException: 通訊端操作遇到一個停用的網路。 74.125.127.109:25 於 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 於 System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) 於 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- 內部例外狀況堆疊追蹤的結尾 --- 於 System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) 於 System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) 於 System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) 於 System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) 於 System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) 於 System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) 於 System.Net.Mail.SmtpClient.GetConnection() 於 System.Net.Mail.SmtpClient.Send(MailMessage message) 
      

  9.   

    找到原因了,是上网代理限制导致发送失败,与IIS没有关系。