有的SMTP服务器不支持直接使用SMTP连接,查查看

解决方案 »

  1.   

    汗,我换成163.com也不行啊,而且错误提示是不能连接到服务器啊。。但我的outlook express都正常的,是 163.net
      

  2.   

    我就不相信,这么个小问题能难倒广大csdn的高手?
    再顶
      

  3.   

    为什么要用CDO.Configuration配置呢?
    你如果仅仅是发邮件的话,可以把
    Configuration conf=new ConfigurationClass();
       
    conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;
    conf.Fields[CdoConfiguration.cdoSMTPServer].Value="smtp.tom.com";
    conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;
    conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="gabriel_yw";
    conf.Fields[CdoConfiguration.cdoSendUserReplyEmailAddress].Value="\"hydnoahark\" <[email protected]>";
    conf.Fields[CdoConfiguration.cdoSendEmailAddress].Value="\"hydnoahark\" <[email protected]>";
    conf.Fields[CdoConfiguration.cdoSMTPAuthenticate].Value=CdoProtocolsAuthentication.cdoBasic;
    conf.Fields[CdoConfiguration.cdoSendUserName].Value="gabriel";
    conf.Fields[CdoConfiguration.cdoSendPassword].Value="mypassword";
        
    conf.Fields.Update();
    这部分全部删掉,没有任何影响。
      

  4.   

    楼上,可是smtp服务器是要身份验证的啊,该怎么办?
    如果那样,我干脆用.net自带的SmtpMail类了
      

  5.   

    现在发邮件必须用ESMTP协议,现在的服务器也只支持ESMTP协议(就是带密码验证的那种).NET不支持ESMTP,也就是你直接用.NET提供的类都发不了邮件,包括MailMessage类。你必须自己写发邮件的代码(跟据ESMTP协议)你如果需要的话我有一个VB的例子(支持ESMTP)QQ:67690945
      

  6.   

    System.Web.Mail.SmtpMail;
        System.Web.Mail.MailAttachmentl;
    MailMessage myMail=new MailMessage();
    myMail.From=from.Text;
    myMail.To="[email protected]";
    myMail.Subject=subject.Text;
    myMail.Body=body.Text;
    myMail.BodyFormat=MailFormat.Html
    SmtipMail.Send(myMail);
    Message.InnerHtml="";
    myMail.Attachments.Add(new MailAttachment("c:\\readme.txt"));