基于socket编写的发信组件怎么不能使用?服务器已经打开socket会是什么原因呢,组件其实就是利用TCP协议发信而已

解决方案 »

  1.   

    using System;
    using System.Text;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    using System.Collections;............. protected bool SendEmail()
    {
    //连接网络
    try
    {
    tc=new TcpClient(mailserver,mailserverport);
    }
    catch(Exception e)
    {
    errmsg=e.ToString();
    return false;
    } ns = tc.GetStream();
    SMTPCodeAdd(); //验证网络连接是否正确
    if(RightCodeHT[RecvResponse().Substring(0,3)]==null)
    {
    errmsg="网络连接失败";
    return false;
    }
    ArrayList SendBuffer=new ArrayList();
    string SendBufferstr; //进行SMTP验证
    if(ESmtp)
    {
    if(!SmtpAuth())
    return false;
    }
    else
    {
    SendBufferstr="HELO " + mailserver + enter;
    if(!Dialog(SendBufferstr,""))
    return false;
    } //发件人信息
    SendBufferstr="MAIL FROM:<" + From + ">" + enter;
    if(!Dialog(SendBufferstr,"发件人地址错误,或不能为空"))
    return false;.................