国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 金溪县| 朔州市| 临桂县| 尉犁县| 庆安县| 合作市| 金华市| 象山县| 栾城县| 渭南市| 陇西县| 旅游| 普兰店市| 八宿县| 镇巴县| 孝义市| 许昌市| 英超| 邯郸市| 灵寿县| 清流县| 桃园市| 道孚县| 汾西县| 宜昌市| 博湖县| 新乐市| 若羌县| 宝应县| 莲花县| 靖安县| 资溪县| 集安市| 台东县| 麻阳| 嫩江县| 灵川县| 和平县| 新龙县| 姚安县| 建昌县|