利用ASP+JMAIL进行邮件群发的新思路

asp+|jmail

利用ASP+JMAIL进行邮件群发的新思路

背景:
Email地址存于MSSql一用户信息表中,数量上万。
公司自有服务器,集SMTP,POP3,WWW,FTP,MSSql,DNS等多种服务于一身。
JMAIL 有MailMerge对象,但是免费版不能用

要求:
用ASP+JMAIL,利用公司SMTP向所有用户发送EMAIL

思路:
直接读取数据库,多次循环发送,会对本来配置不高的服务器造成很大压力。
最好能对EMAIL分批发送,每批发送间隔一段时间,以此来缓解对服务器造成的压力。

实现:
对EMAIL分批
读出记录到recordset,利用常见的分页程序,将所有记录分页,每页作为一批,有多少页就分多少批
间隔延迟
在每页执行完毕后用<meta http-equiv="refresh" content="60;URL=SendMail.asp?page="&page>来延迟跳转
减少执行时间:
在循环的过程中,循环添加收件人,而不要循环发送,即
for i=1 to rs.pagesize
msg.AddRecipient rs("Email")
rs.movenext
next
msg.Send ("smtp.abc.com")
减小邮件大小
循环添加收件人,会造成一封Email的收件人很多,这样一封Email的就会很大。
所以,在以上代码的基础上改进一下,在循环内做个判断,当收件人Email数量到达
20的时候就发送一次。即:
for i=1 to rs.pagesize
msg.AddRecipient rs("Email")
    if i mod 20 = 0 then                  '每 20 个收信人作为一封Email发送一次
      msg.Send ("smtp.abc.com")
      msg.ClearRecipients                 '清除已发送的收信人
    end if
rs.movenext
next
msg.Send ("smtp.abc.com")                 '发送余下的
页面
Mail.asp        包含邮件主题、正文的表单,<form action="SendMail.asp" target="Send">;一个iframe页面,<iframe name="Send" src="SendMail.asp">
SendMail.asp    包含后台发送程序,循环,延迟跳转等。

缺点:
发送过程中不能离开该页面
发送的时间较长,与设置的每批发送数量、网络带宽、SMTP服务器性能有关

改进:
可以在Mail.asp中包含多个iframe页面,每个页面从不同的page开始发,相当于多线程发送,
对smtp服务器压力会增大,但能缩短发送时间。
可考虑在不同的page中采用不同的smtp服务器,例如包含多个iframe页面,在偶数页用
smtp.abc.com,在奇数页用smtp.123.com。这样既减轻服务器压力,也达到多线程发送
缩短发送时间的目的。

时间: 2024-11-01 06:58:15

利用ASP+JMAIL进行邮件群发的新思路的相关文章

使用ASP+jmail进行邮件群发

这段时间看到有太多的人迷茫于邮件的群发.所以把自己以前写的一个东东拿出来与大家分享.希望大家能够举一反三.关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集.自身的调用可以有很多的应用.除了邮件的群发,还有譬如自身的递归.很多人想实现取得不重复随机数就可以使用下面得思路.当然,实现总不是一种,而是多样化得,你还可以有更好得方法.希望能够和大家切磋!这个页面叫做email_sendall.asp<%on error resume next%><!--这里是你们的

ASP+SMTP完成邮件群发功能

asp+|smtp --><meta http-equiv="Content-Language" content="zh-cn"><TITLE>中国劲网Web(ASP+STMP)邮件群发系统 2004.11.28 版</TITLE><style><!--body { color: #000000; text-decoration: none; font-family: 宋体; font-size: 10pt

asp jmail发邮件 详细解析第1/2页_应用技巧

发个个比较详细的asp与jmail 实现发送邮件的代码,前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子:  首先是jmail.smtpmail的核心代码:   复制代码 代码如下: <%   Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象   jmail.silent = true 'JMAIL不会抛出例外错误,返回

asp jmail发邮件 详细解析第1/2页

发个个比较详细的asp与jmail 实现发送邮件的代码,前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子: 首先是jmail.smtpmail的核心代码:  复制代码 代码如下:<%   Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象   jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为

如何利用邮件群发进行网站推广

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 我们是一个专门做网络购物的网站,在前期的宣传中,我主要利用邮件群发的方式来推广,在没有做任何链接的情况下,现在我们的网站的PR已经上升到了1了, 邮件群发是现在网站推广用的比较多的一种方式,主要是靠邮件群发软件来完成的,我做了一个调查,现在有很多免费的邮件群发软件,但是他们的邮箱的准确率和发送的完成率都不是很好,很多收费的邮件群发软件效果比较

asp.net C# 支持HTML格式、带附件、中文发送者、密送、抄送邮件群发代码

asp教程.net c# 支持html格式.带附件.中文发送者.密送.抄送邮件群发代码 //web.config中可以这样设置 <system.net>         <mailsettings>       <smtp>         <network host="hostname" port="25" username="a@163.com" password="xxxx"/&

如何更好的利用邮件群发来提搞推广的效果

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前言: 最近,基于Groupon模式团购网站在国内如雨后春风一般吹遍了大江南非,长城内外,在一些地方,一夜之间可以冒出十几个团购网站,我在一个统计,到今天为止,全国的团购网站已经超过1500个,个别地方特别是一线城市,像北京,上海,广州,深圳这些地区每个地区超过50个团购网站,进行一场所谓轰轰烈烈的百团大战. 使用过团购的人都很清楚,电子邮件

asp.net发邮件问题

问题描述 asp.net做群发邮件用本身代的那个类好还是用jmail好?群发怎么做比较好?要不要多线程? 解决方案 解决方案二:关注这个问题..我也正在研究...希望和LZ分享下结果··解决方案三:这个问题以前困扰了我很久.其实群发的时候不仅仅是考虑发,还要考虑发的量.如果用的是163邮件服务器的,那么一般的免费邮箱一次发送不能过20封,否则就丢失了,VIP有多种,但最少的也可以一次发400封.而且免费的邮箱还要早几年的,现在的是不性了.至于这个群发我的实现方法是.发送直接写个类,用单线程控制发

asp+JMAIL实现发送邮件_应用技巧

本文利用asp和JMAIL实现了发送邮件,大家是不是很好奇这到底是怎么实现的呐,和小编一起一探究竟吧! Global.asa文件 什么是Global.asa 文件?它其实是一个可选文件,程序编写者可以在该文 件中指定事件脚本,并声明具有会话和应用程序作用域的对象.该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象.该 文件的名称必须是 Global.asa 且必须存放在应用程序的根目录中.每个应用程序只能有一个 Global.asa 文件.内容如下: <script