smtpclient 在文件系统中使用发送邮件,没有任何问题,但是在服务器上运行的时候却无法发送,不知道是什么问题,catch里面的错误为:Generator failure!
是在是不知道怎么回事了,是不是服务器的什么什么问题啊,求助如何解决....

解决方案 »

  1.   

    是不是有防止mass send email的防火墙什么的。
      

  2.   

      public string SendMail(string EmailAddress, string Title, string EmailBody,string id,string pwd)
        {
            try
            {
               
                MailMessage mail = new MailMessage();
                mail.To.Add(EmailAddress);                                  //添加收件人
                mail.From = new MailAddress(id);                          //添加发件人
                mail.Subject = Title;                                       //标题
                mail.Body = EmailBody;                                      //内容
                mail.IsBodyHtml = true;                                     //内容是否为HTML
                SmtpClient smtp = new SmtpClient(smtpclient);
                smtp.Credentials = new NetworkCredential(id, pwd);
                try
                {
                    smtp.Send(mail);
                }
                catch (SmtpException e)
                {
                    return e.ToString();
                   // return e.StatusCode.ToString();
                }
                catch (Exception e)
                {
                    return e.ToString();
                }//发送
            }
            catch
            {
                return "nn";
            }
            return "ss";
        }这样的~~
      

  3.   

    如果开发机或者服务器安装了杀毒软件可能会拦截邮件发送,需要关闭杀毒软件的“邮件蠕虫........”这个选项,还有邮件服务器,需要支持SMTP功能。
    http://www.svnhost.cn/Article/Detail-20.shtml
      

  4.   

    发现新问题!
    System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- End of inner exception stack trace --- at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send(MailMessage message) --- End of inner exception stack trace --- at System.Net.Mail.SmtpClient.Send(MailMessage message) at VsEmail.SendMail(String EmailAddress, String Title, String EmailBody, String id, String pwd) in d:\wwwroot\tnsshopTest\App_Code\VsEmail.cs:line 64怎么解决??晕倒了
      

  5.   

    你忘了释放资源了,每次发送完毕和出现异常的时候你都要
    smtp.Dispose();
    mail.Dispose();
      

  6.   

    这个错误可能是你计算机的Socket句柄资源用尽导致的,能够造成这种现象的一种情况就是你的计算机的某个程序不断的向某个连接发出连接申请,但是始终没能连上,没连上就会引发一个错误,如果没有写释放资源的代码,那么这个连接就始终占据着着一个句柄,于是由于不断的连接,最终导致Socket句柄资源耗尽。 
      

  7.   

    我晕啊    3年前的东西大哥  你怎么解决的啊  我的问题:
    http://topic.csdn.net/u/20111202/11/647a8cfc-04e1-451a-a96f-28c0ea92e5ee.html