上面的问题解决了,只要定义名称空间
 uing System.Web.Mail;就可以了,现在遇到新的问题代码如下MailMessage mail;
mail=new  MailMessage();
mail.To=TextBox1.Text;
mail.From=TextBox2.Text;
mail.Subject=TextBox3.Text; if (mail.To != "")  
           {
  SmtpMail.Send(mail);

TextBox3.Text="成功";  }
else
TextBox3.Text="失败";提示错误?
Server Error in '/Pdms_cs' Application.
--------------------------------------------------------------------------------“SendUsing”配置值无效。 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Runtime.InteropServices.COMException: “SendUsing”配置值无效。 Source Error: 
Line 61:  if (mail.To != "")  
Line 62:             {
Line 63:    SmtpMail.Send(mail);
Line 64: 
Line 65:  TextBox3.Text="成功";
 

解决方案 »

  1.   

    还要设置邮件服务器
    Mail.SmtpServer = "smtp.21cn.com";//设置服务器
      

  2.   

    你说得很对,是没有设置邮件服务器我写代码:MailMessage mail = new MailMessage();
    SmtpMail smtp = new SmtpMail();
    smtp.SmtpServer="122.18.100.20";可是 smtp 没有 SmtpServer这个属性? 提示错误
      

  3.   

    不设的话,将用本地默认的SMTP SERVER发送
      

  4.   

    //SmtpMail smtp = new SmtpMail();不用实例化!!!!
    SmtpMail.SmtpServer="122.18.100.20";SmtpMail.send(mail);
      

  5.   

    C#编程发送邮件如需转载请与作者联系 摘要              本文简单介绍SMTP协议以及如何用C#编程实现EMAIL发送。 一、SMTP协议简介1、  客户端通过服务器的25端口建立TCP/IP连接服务器端: 220 server.com Simple Mail Transfer Service Ready2、  客户端使用“HELO”命令标识发件人客户端:HELO server.com服务器端:250 server.com3、  客户端发送MAIL命令,服务器端以OK作为响应表明准备接收客户端: MAIL FROM: <[email protected]>服务器端: 250 OK4、  客户端发送RCPT命令标识收件人,服务器端回应是否愿意为收件人接受邮件客户端:RCPT TO: <[email protected]>服务器端:250 OK5、  协商结束后用命令DATA发送发送邮件客户端:DATA服务器端:354 Start mail input: end with <CRLF>.<CRLF>6、  客户端以.表示结束输入内容一起发送出去 客户端:Subject:  <CRLF>内容<CRLF>.<CRLF>7、客户端用QUIT命令退出。               客户端:QUIT服务器端:250 server.com closing transmission channel 二、SMTP客户端程序代码:1、  用VS.NET新建一个C#  WINDOWS应用程序项目,命名为SMTP。2、  在窗体上添加控件:一个按钮:设置属性name->btnsend;text->发送六个标签:分别提示服务器地址、发件人、收件人、主题、内容以及发送记录五个文本框:服务器地址txtsmtp、发件人txtfrom、收件人txtto、主题txtsub、内容txtmsg对应相应的标签放置。              一个列表框:lstlog 3、在程序开头添加以下名字空间:       using System.Data;using System.Net;using System.Net.Sockets;using System.IO;          4、在 btnsend_Click 函数中添加代码       private void btnsend_Click(object sender, System.EventArgs e){                 // 将鼠标形状改为漏斗状              Cursor cr = Cursor.Current;              Cursor.Current = Cursors.WaitCursor;              //定义变量              string Data;              byte[] szData;              string CRLF = "\r\n";              //创建与服务器25端口的连接              TcpClient SmtpServ = new TcpClient(txtsmtp.Text,25);                            lstlog.Items.Clear();                               //显示服务器初始信息                   NetworkStream NetStrm = SmtpServ.GetStream();                   StreamReader  RdStrm= new StreamReader(SmtpServ.GetStream());                   lstlog.Items.Add(RdStrm.ReadLine());                   //标志发件人                   Data = "HELO server " + CRLF;                                     szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                   lstlog.Items.Add(RdStrm.ReadLine());                   //标志发件人                   Data = "MAIL FROM: " + "<" + txtfrom.Text + ">" + CRLF;                   szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                  lstlog.Items.Add(RdStrm.ReadLine(                   // 标志收件人                   Data = "RCPT TO: " + "<" + txtto.Text + ">" + CRLF;                   szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                   lstlog.Items.Add(RdStrm.ReadLine());                   //准备发送内容                   Data = "DATA " + CRLF;                   szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                   lstlog.Items.Add(RdStrm.ReadLine());                                  //发送主题                   Data = "SUBJECT: " + txtsub.Text + CRLF ;                   //发送内容                   Data = Data+ txtmsg.Text + CRLF ;                   //结束发送                   Data = Data+ "." + CRLF;                   szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                   lstlog.Items.Add(RdStrm.ReadLine());                                  //退出                   Data = "QUIT " + CRLF;                   szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());                   NetStrm.Write(szData,0,szData.Length);                   lstlog.Items.Add(RdStrm.ReadLine());                                  //关闭连接                   NetStrm.Close();                   RdStrm.Close();                   lstlog.Items.Add("连接关闭");                   lstlog.Items.Add("发送成功");                    //将鼠标恢复箭头状                   Cursor.Current = cr;              }         保存工程并编译,邮件发送程序就编制成功了,我们还可以进一步改造该函数,制作一个SMTP类,将其应用于自己的软件