您现在的位置: 天极网 > 开发频道 > web开发 > 用ASP.Net发送MailList(一)
全文

用ASP.Net发送MailList(一)

2001-05-07 08:42作者:豆腐出处:asp888责任编辑:

  好了,这个过程就是一个完整的SMTP的过程,下面我们就来看看 豆腐 用 C# 做的这个发送Mail的工具

  <%@ Assembly Name="System.Net" %>

  <%@ Import Namespace="System.Net" %>

  <% @Import Namespace="System.Net.Sockets" %>

  <%@ Import Namespace="System.IO" %>

  <script language="C#" runat=server>

   protected void SendMailClick(Object Src, EventArgs E){

    String smtpserver=txtSmtpserver.Text; file://smtp服务器的IP地址

    TCPClient tcpc = new TCPClient();

    if (0 == tcpc.Connect(smtpserver, txtPort.Text.ToInt16()))

     {

      file://连接smtp 服务器成功

      Stream s;

      StreamReader sr ;

      String strCmd;


      Byte[] arrCmd;

      String strRet;

      String[] arrRet;

      sr = new StreamReader(tcpc.GetStream(), Encoding.Default);

      strRet=sr.ReadLine() + "<br>"; file://mail server 的欢迎语

      file://服务器连接成功以后,首先向服务器发送HeLo命令

      strCmd="HELO www.asp888.net";

      strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";

      file://然后向服务器发送信件的成员的信箱

      strCmd="mail from:"+ sender.Text;

      strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";

      file://向服务器发送收件人的信箱

      strCmd="rcpt to:" + receive.Text;

      strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";

      file://所有的准备工作都已经作好了,下面开始进行邮件的部分

      strCmd="data";

      strRet=strRet + SenSmtpCmd(tcpc,strCmd) + "<br>";

      file://邮件内容

      strCmd="Date: 1234567\r\n";

      strCmd=strCmd+"From:" + sender.Text +"\r\n";

      strCmd=strCmd+"To:" + receive.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>";

      file://最后 关闭与smtp 服务器的连接

      tcpc.Close();

      showmsg.Text=strRet;

     }

    else

     {

      showmsg.Text="对不起,连接服务器失败";

     }

   }

   String SenSmtpCmd(TCPClient tcpc,String strCmd){

   file://为了程序的简单可读,特意写了这个函数

    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){

    file://为了程序的简单可读,特意写了这个函数

   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>

   收信人:<asp:TextBox id=receive 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>

  大家可能在看这段程序的时候已经发现了这样的两个函数SenSmtpCmd和SenSmtpCmd1,这两个函数的作用是SenSmtpCmd1不接收smtp server 传递回来的回应,主要是目前的这个版本的asp.net 在处理中文的时候还是存在一定的Bug,所以就只有采取这样的变通的办法了。

共2页。 9 7 1 2

软件资讯·软件下载尽在天极软件

共2页。 首页 上一页 1 2
相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众