当前位置:中国站长下载文章中心网页编程.NET编程 → 用ASP.Net发送MailList

用ASP.Net发送MailList

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 9:44:50
ver=txtSmtpserver.Text; //smtp服务器的IP地址
  TCPClient tcpc = new TCPClient();
  if (0 == tcpc.Connect(smtpserver, txtPort.Text.ToInt16()))
  {
  //连接smtp 服务器成功
  Stream s;
  StreamReader sr ;
  String strCmd;
  Byte[] arrCmd;
  String strRet;
  String[] arrRet;
  
  sr = new StreamReader(tcpc.GetStream(), Encoding.Default);
  strRet=sr.ReadLine() + "<br>"; //mail server 的欢迎语
  //服务器连接成功以后,首先向服务器发送HeLo命令
  strCmd="HELO www.asp888.net";
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //然后向服务器发送信件的成员的信箱
  strCmd="mail from:"+ sender.Text;
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //向服务器发送收件人的信箱
  strCmd="rcpt to:" + receive2.Text;
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //邮件列表的发送工作,其实就是打开一次Socket连接,发送多个mail的结果
  strCmd="rcpt to:" + receive1.Text;
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //所有的准备工作都已经作好了,下面开始进行邮件的部分
  strCmd="data";
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //邮件内容
  strCmd="Date: 1234567\r\n";
  strCmd=strCmd+"From:" + sender.Text +"\r\n";
  strCmd=strCmd+"To:" + receive1.Text + ";" + receive2.Text +"\r\n";
  //strCmd=strCmd+"To:" + receive1.Text + "\r\n";
  strCmd=strCmd+"Subject:" + subject.Text +"\r\n\r\n";
  strCmd=strCmd + content.Text +"\r\n\r\n";
  strRet=strRet + SenSmtpCmd1(tcpc,strCmd) + "<br>";
  strCmd="\r\n.\r\n";
  strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  /*strCmd=strCmd+"From:xuexh@haitai.com.cm\r\n";
  strCmd=strCmd+"To:xuexh@haitai.com.cn\r\n";
  strCmd=strCmd+"subject:这是一个测试的邮件\r\n";
  strCmd=strCmd+"\r\n";
  strCmd=strCmd+"这些是测试邮件的邮件内容\r\n";
  strCmd=strCmd+"\r\n.\r\n";
  *///strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";
  //最后 关闭与smtp 服务器的连接
  tcpc.Close();
  showmsg.Text=strRet;
  }
  else
  {
  showmsg.Text="对不起,连接服务器失败";
  }
  }
  
  String SenSmtpCmd(TCPClient tcpc,String strCmd){
  //为了程序的简单可读,特意写了这个函数
  Byte[] arrCmd;
  String strRet;
  StreamReader sr;
  Stream s;
  s=tcpc.GetStream();
  strCmd = strCmd + "\r\n";
  arrCmd= Encoding.Default.GetBytes(strCmd.ToCharArray());
  s=tcpc.GetStream();
  s.Write(arrCmd, 0, strCmd.Length);
  sr = new StreamReader(tcpc.GetStream(), Encoding.Default);
  strRet=sr.ReadLine();
  return strRet;
  }
  String SenSmtpCmd1(TCPClient tcpc,String strCmd){
  //为了程序的简单可读,特意写了这个函数
  Byte[] arrCmd;
  String strRet;
  StreamReader sr;
  Stream s;
  s=tcpc.GetStream();
  strCmd = strCmd;
  arrCmd= Encoding.Default.GetBytes(strCmd.ToCharArray());
  s=tcpc.GetStream();
  s.Write(arrCmd, 0, strCmd.Length);
  return "";
  }
  </script>
  <form id=testForm runat=server>
  <asp:label id=showmsg runat=server /><br>
  SMTP服务器:<asp:TextBox id=txtSmtpserver runat=server /><asp:TextBox id=txtPort Text=25 runat=server /><br>
  发信人:<asp:TextBox id=sender runat=server />
  <br>
  收信人1:<asp:TextBox id=receive1 runat=server />
  <br>
  收信人2:<asp:TextBox id=receive2 runat=server />
  <br>
  信件主题:<asp:TextBox id=subject runat=server />
  <br>
  信件内容:<asp:TextBox id=content runat=server TextMode=MultiLine rows=10/>
  <asp:Button Text="发送" id=SendMail onClick=SendMailClick runat=server />
  </form>
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

上一页  [1] [2]