学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> ASP >> 用ASP.Net发送MailList(二)


用ASP.Net发送MailList(二)



  前面我们讲过如何利用Asp.Net 来发送Mail,其实这篇文章的实际目的压根就不是为了让大家利用ASP.net来简单的发送一封Mail,那样是没有任何作用的,因为Asp.Net 已经提供了这样的强大的功能我们文章的标题就是MailList,所以我们的任务就是实现用Asp.Net发送一个MailList,前面的那位同志说了,我们不需要这么麻烦,只要作个循环即可,不错,这个的确是一个办法,而且豆腐以前也一直是这样在做的,但是这样作的缺点就是浪费了大量的流路资源,和 Mellissa又有什么本质的区别呢?其实在SMTP(Simple Mail Transfer Protcol)已经提供了制作SMTP 的方法,当我们Connect 以后,我们可以不断的向服务器发送RCPT 命令,这样就可以利用一个Connect向多个mail Addr 发送Mail 的Data 内容,在这里我们一定要注意到我们的Data 内容仅仅是发送一次的,这样就节省了大量的网路资源。

  <%@ 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() + "
"; 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:" + receive2.Text;

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

     file://邮件列表的发送工作,其实就是打开一次Socket连接,发送多个mail的结果

     strCmd="rcpt to:" + receive1.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:" + receive1.Text + ";" + receive2.Text +"\r\n";

     file://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>";

     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 "";

    }

  

   <FORM id=testForm runat="server">

  <?xml:namespace prefix = asp /><asp:label id=showmsg runat="server"></asp:label>

   SMTP服务器:<asp:TextBox id=txtSmtpserver runat="server"></asp:TextBox><asp:TextBox id=txtPort runat="server" Text="25"></asp:TextBox>

   发信人:<asp:TextBox id=sender runat="server"></asp:TextBox>

   收信人1:<asp:TextBox id=receive1 runat="server"></asp:TextBox>

   收信人2:<asp:TextBox id=receive2 runat="server"></asp:TextBox>

   信件主题:<asp:TextBox id=subject runat="server"></asp:TextBox>

   信件内容:<asp:TextBox id=content runat="server" TextMode="MultiLine" rows="10/">

   <asp:Button id=SendMail onclick=SendMailClick runat="server" Text="发送"></asp:Button>

   </FORM>

 
</asp:TextBox>
技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"用ASP.Net发送MailList(二)"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 用ASP.Net发送MailList(二) 相关内容
Google搜索中 用ASP.Net发送MailList(二) 相关内容
雅虎中 用ASP.Net发送MailList(二) 相关内容
Sogou搜索中 用ASP.Net发送MailList(二) 相关内容

相关软件 最新回复帖子:

·Windows Vista 中卸载软件的不同方式
·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效


  相关软件 用ASP.Net发送MailList(二)相关文章
用ASP.Net发送MailList(一) 怎样动态include文件
介绍一种效率极高的分类算法 ASP中检查没有数据提交的页面Ⅱ
ASP中检查没有数据提交的页面Ⅰ 创建服务器端的ASP搜索组件(二)
创建服务器端的ASP搜索组件(一) 如何增强ASP程序性能(4)
如何增强ASP程序性能(3) 如何增强ASP程序性能(2)
如何增强ASP程序性能(1) 高级表单验证
使用ASP加密算法加密你的数据(二) 使用ASP加密算法加密你的数据(一)
用ASP实现网页保密的两种方法 通过asp入侵web server,窃取文件毁坏
用ASP判断Email地址是否有效 ASP常数
ASP中实用的广告交替组件 如何处理ASP中的图象