// 开始进行服务器认证 
  // 如果状态码是250则表示操作成功 
  if (!Command (tcp.GetStream(), "EHLO Localhost", "250")) 
  throw new Exception ("登陆阶段失败");   if (userName != "") 
  { 
  // 需要身份验证 
  if (!Command (tcp.GetStream(), "AUTH LOGIN", "334")) 
   throw new Exception ("身份验证阶段失败"); 
  string nameB64 = ToBase64 (userName); // 此处将username转换为Base64码 
  if (!Command (tcp.GetStream(), nameB64, "334")) 
   throw new Exception ("身份验证阶段失败"); 
  string passB64 = ToBase64 (password); // 此处将password转换为Base64码 
  if (!Command (tcp.GetStream(), passB64, "235")) 
   throw new Exception ("身份验证阶段失败"); 
  } 
  // 准备发送 
  WriteString (tcp.GetStream(), "mail From: " + from); 
  WriteString (tcp.GetStream(), "rcpt to: " + to); 
  WriteString (tcp.GetStream(), "data"); 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/flamngo/archive/2007/07/19/1698691.aspx
我想用以下这段代码
但是在复制后发现这个command命令和writestring和readstring的命令都是无效的
我要怎么该啊
我使用winform界面写的

解决方案 »

  1.   

    using System.Net.Sockets; 
    using System.IO; 这两个你using进去没有?
      

  2.   

    哪个无效就用鼠标点哪个然后上档键+ALT+F10 他会弹出
      

  3.   

    net和io
    我都确定了命名空间了啊
    就是这样还不行才来这里求助的
      

  4.   

    邮件发送呀!
    Command可能是自定义的函数,SMTPClient不是这样用的,楼主还是再看看源码吧!
      

  5.   

    我发现把原文中的代码后面少了几个括号,会不会是因为少写了代码,而“command”,“writestring”和“readstring”会不会是三个方法呢?
      

  6.   

    现在基本没有smtp了 
    都是esmtp协议了
    需要认证的
    这是基于esmtp协议的邮件发送
    需要发送请求 根据回复进行下一步
    是一个完整的  发送  回复认证协议