小弟在asp.net作网站自动发邮件比如你写入内容然后确认一下邮箱点发送就可以发送到任何的一个邮箱中去,但现在各大邮箱服务器都有垃圾邮过滤功能的所以要通过验证的如果现在用C#中那样mail发送的话就不行了,被服务器过滤掉了。如163的。stmp.163.com就要验证的。所以小弟好迷忙哦。看了一个文章中说到用tcp访问服务器后然后在通过发送用户名啦,密码啦来通过验证的但小弟是个初学者时有了解方面有些落的还希望各位前辈指教的现在问题是我想要对不同的邮件服务器发送邮件的。比如163,sohu.等等所以希望前辈指点指点。最好给个清楚的代码要不我好迷糊的哦。谢谢。分不在多有诚者灵....

解决方案 »

  1.   

    //在reference中添加CDO  for  Windows  2000  
     
    using  CDO;  
     
       
     
    public  void  SendEmail()  
    {  
     
     
         try  
         {  
           Configuration  conf=new  ConfigurationClass();  
           
           conf.Fields[CdoConfiguration.cdoSendUsingMethod].Value=CdoSendUsing.cdoSendUsingPort;  
           conf.Fields[CdoConfiguration.cdoSMTPServer].Value="smtp.netease.com";  
           conf.Fields[CdoConfiguration.cdoSMTPServerPort].Value=25;  
           conf.Fields[CdoConfiguration.cdoSMTPAccountName].Value="hydnoahark";  
           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="hydnoahark";  
           conf.Fields[CdoConfiguration.cdoSendPassword].Value="xxx";  
             
           conf.Fields.Update();  
     
           MessageClass  msg=new  MessageClass();  
           msg.Configuration=conf;  
     
           msg.To="[email protected]";  
           msg.Subject="Hello";  
           msg.TextBody="It's  test";  
           msg.From="[email protected]";  
     
           msg.Send();        
         }  
         catch(System.Runtime.InteropServices.COMException  e)  
         {  
           MessageBox.Show(e.ToString());  
         }  
     
         return;  
    }  
      

  2.   

    你把代码全部复制,把smtp服务器改为你用的邮箱服务器,用户和密码当然也要改为你的邮箱啦.就可以了.