国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

利用ASP JMAIL進行郵件群發(fā)的新思路

2024-05-04 11:06:03
字體:
供稿:網(wǎng)友
背景: 
Email地址存于MSSql一用戶信息表中,數(shù)量上萬。 
公司自有服務(wù)器,集SMTP,POP3,WWW,FTP,MSSql,DNS等多種服務(wù)于一身。 
JMAIL 有MailMerge對象,但是免費版不能用 

要求: 
用ASP JMAIL,利用公司SMTP向所有用戶發(fā)送EMAIL 

思路: 
直接讀取數(shù)據(jù)庫,多次循環(huán)發(fā)送,會對本來配置不高的服務(wù)器造成很大壓力。 
最好能對EMAIL分批發(fā)送,每批發(fā)送間隔一段時間,以此來緩解對服務(wù)器造成的壓力。 

實現(xiàn): 
對EMAIL分批 
讀出記錄到recordset,利用常見的分頁程序,將所有記錄分頁,每頁作為一批,有多少頁就分多少批 
間隔延遲 
在每頁執(zhí)行完畢后用<meta http-equiv="refresh" content="60;URL=SendMail.asp?page="&page>來延遲跳轉(zhuǎn) 
減少執(zhí)行時間: 
在循環(huán)的過程中,循環(huán)添加收件人,而不要循環(huán)發(fā)送,即 
for i=1 to rs.pagesize 
msg.AddRecipient rs("Email") 
rs.movenext 
next 
msg.Send ("smtp.abc.com") 
減小郵件大小 
循環(huán)添加收件人,會造成一封Email的收件人很多,這樣一封Email的就會很大。 
所以,在以上代碼的基礎(chǔ)上改進一下,在循環(huán)內(nèi)做個判斷,當收件人Email數(shù)量到達 
20的時候就發(fā)送一次。即: 
for i=1 to rs.pagesize 
msg.AddRecipient rs("Email") 
   if i mod 20 = 0 then         ’每 20 個收信人作為一封Email發(fā)送一次 
    msg.Send ("smtp.abc.com") 
    msg.ClearRecipients         ’清除已發(fā)送的收信人 
   end if 
rs.movenext 
next 
msg.Send ("smtp.abc.com")         ’發(fā)送余下的 
頁面 
Mail.asp    包含郵件主題、正文的表單,<form action="SendMail.asp" target="Send">;一個iframe頁面,<iframe name="Send" src="SendMail.asp"> 
SendMail.asp  包含后臺發(fā)送程序,循環(huán),延遲跳轉(zhuǎn)等。 

缺點: 
發(fā)送過程中不能離開該頁面 
發(fā)送的時間較長,與設(shè)置的每批發(fā)送數(shù)量、網(wǎng)絡(luò)帶寬、SMTP服務(wù)器性能有關(guān) 

改進: 
可以在Mail.asp中包含多個iframe頁面,每個頁面從不同的page開始發(fā),相當于多線程發(fā)送, 
對smtp服務(wù)器壓力會增大,但能縮短發(fā)送時間。 
可考慮在不同的page中采用不同的smtp服務(wù)器,例如包含多個iframe頁面,在偶數(shù)頁用 
smtp.abc.com,在奇數(shù)頁用smtp.123.com。這樣既減輕服務(wù)器壓力,也達到多線程發(fā)送 
縮短發(fā)送時間的目的。
 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 余姚市| 兴和县| 清河县| 宁陵县| 陆河县| 北海市| 湘乡市| 通渭县| 邯郸市| 武乡县| 阿克| 勐海县| 韶关市| 乐山市| 洛阳市| 太仓市| 商南县| 内黄县| 乐至县| 高碑店市| 南江县| 武威市| 红桥区| 龙江县| 婺源县| 瑞昌市| 鹰潭市| 西城区| 故城县| 水城县| 西贡区| 太白县| 江津市| 沅陵县| 寿光市| 余干县| 乐亭县| 翼城县| 舒城县| 信阳市| 鄂尔多斯市|