当前位置:七道奇文章资讯安全技术网络技术
日期:2009-10-31 10:13:00  来源:本站整理

Asp.net实现的邮件发送引擎[网络技术]

赞助商链接



  本文“Asp.net实现的邮件发送引擎[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

用asp.net发送Email已经不是一件新颖的事情了.可以采取很多种办法来发送,比方SmtpMail办法,Socket办法,通过第三方组件Jmail等方法都可以.但是本文谈论的不是发送邮件采取的技术,而是通过公司的一个项目实践说说邮件引擎的架构,有不足和改良之处,欢送同行批判指正.

    我们从前发送邮件的时刻采取的办法就是,在页面里面触发举行发送,比方注册了会员,点了提交按钮之后,将会员数据插入到数据库,然后举行发送.这种办法固然简单便利,但是有一个弱点,假如邮件发送失利,就不能重发了.因此,在我们项目中采取的办法是,将需求发送的邮件统一插入到一个邮件行列,然后由引擎来处理这个行列.具体的做法是,数据库计划:

Win_EmailQueue(邮件行列表)
QueueId    int   自动编号,主键Id
ToEmail    nvarchar(100)  收件人
Title      nvarchar(100)  邮件标题
Content    ntext          邮件内容
AddDate    datetime       增添时间
TryTimes   int            错误重试次数
LastSendTime datetime     最后一次发送的时间
Status     int            状况:0 未发送 1 已经发送

    需求发送邮件的时刻,如注册会员成功后,将邮件的内容插入到表中.

    邮件引擎可以用一个系统服务来完成,安装在Web服务器同一台服务器上面,也可以按照负载实际情形安装在别的一台服务器上面,减轻Web服务器负担.邮件引擎的任务是隔断一个时间(比方5秒),查询邮件行列,按照时间次序发送邮件,为了降低引擎的负担,可以设置每次发送15封,当然这个数字要按照实际情形来配置.

    以下是处理行列和发送邮件的一些代码.

 ///
        /// 发送Email行列,
        ///
        public static void SendEmailQueue()
        {
            //取最新的15条未成功的举行发送.
            string sql = "select top 15 * from Win_EmailQueue where Status=0 and ToEmail<>'' order by AddDate desc";
            DataTable dt = DbHelperSQL.Query(sql).Tables[0];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string title = dt.Rows[i]["Title"].ToString();
                string content = dt.Rows[i]["Content"].ToString();
                string to = dt.Rows[i]["ToEmail"].ToString();
                string CreateTime = dt.Rows[i]["AddDate"].ToString();
                string QueueID = dt.Rows[i]["QueueID"].ToString();
                bool flag = EmailUtil.Send(title, to, content);
                if (flag)

[1] [2] [3]  下一页


  以上是“Asp.net实现的邮件发送引擎[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .