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

原创 2003年11月03日 21:57:00
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。这样既减轻服务器压力,也达到多线程发送 
缩短发送时间的目的。

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

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

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

背景: Email地址存于MSSql一用户信息表中,数量上万。 公司自有服务器,集SMTP,POP3,WWW,FTP,MSSql,DNS等多种服务于一身。 JMAIL 有MailMerge对象,但是免...
  • zestheart
  • zestheart
  • 2008年05月14日 13:41
  • 498

使用ASP+jmail进行邮件群发

这段时间看到有太多的人迷茫于邮件的群发。所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。自身的调用可以...
  • liuqinyi
  • liuqinyi
  • 2003年09月10日 11:33
  • 1458

使用ASP+jmail进行邮件群发

这段时间看到有太多的人迷茫于邮件的群发。所以把自己以前写的一个东东拿出来与大家分享。希望大家能够举一反三。关键是如果构建一个自身调用的方法,还有在大数据量的情况下,使用数组来代替记录集。自身的调用可以...
  • gsw365
  • gsw365
  • 2007年05月24日 19:07
  • 734

php实现邮件群发

群发邮件             php内部其实自带了有发送邮件的类mail()函数,但是功能比较单一,不能满足绝大部分的需求,因此在这里我使用了一个phpmailer(点击下载)这个类,相对来说还是...
  • three_tiger
  • three_tiger
  • 2017年05月04日 14:35
  • 1258

关于搭建群发邮件服务器的思考

一、搭建邮件服务器只是万里长征的第一步 1.1  最近公司正想搭建自己的邮件服务器,          因为:现在市面上无论收费的企业邮箱还是免费的企业邮箱 都有发件限制。         ...
  • m0_38111370
  • m0_38111370
  • 2017年03月30日 15:46
  • 485

ASP+Jmail 在线发邮件(代码)

function tomail(mem,uemail,username,active)Set jmail = Server.CreateObject("JMAIL.Message")  If JMai...
  • upform
  • upform
  • 2009年08月16日 16:02
  • 1145

利用GDAL进行多项式几何校正校正新思路

从网上查看很多关于几何校正的代码,不过好像基本上都差不多,下载下来调试基本上都是说说而已,根本没法真正做到几何校正的目的。好多人也在怀疑GDAL到底能不能做几何精校正,经过自己的努力,我发现,其实只要...
  • xiluoduyu
  • xiluoduyu
  • 2013年01月17日 21:39
  • 2320

一些新名词与新思路(BUGfree ARM...)

一些新名词与新思路Bugfree(http://bugfree.1zsoft.com)    一个在微软工作四年的项目人员,学习微软Raid的思路开发的用于管理软件开发的一个辅助工具。按照“Proje...
  • swjr
  • swjr
  • 2006年04月13日 21:37
  • 713

php 邮件发送代码-php邮件群发

php 邮件发送如何进行的呢? php邮件发送是通过smtp协议进行的。 下面是一个php邮件发送的类的一个函数。 function sendmail($to, $from, $subject...
  • aerchi
  • aerchi
  • 2014年12月24日 22:43
  • 3094
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用ASP+JMAIL进行邮件群发的新思路
举报原因:
原因补充:

(最多只允许输入30个字)