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

amyz發表於2007-11-28
利用ASP+JMAIL進行郵件群發的新思路 (轉)[@more@]E地址存於MS一資訊表中,數量上萬。 
公司自有,集SMTP,POP3,WWW,,MSSql,等多種服務於一身。 
 有MailMerge,但是免費版不能用 

要求: 
用+JMAIL,利用公司SMTP向所有使用者傳送 

思路: 
直接讀取,多次迴圈傳送,會對本來不高的伺服器造成很大壓力。 
最好能對EMAIL分批傳送,每批傳送間隔一段時間,以此來緩解對伺服器造成的壓力。 

實現: 
對EMAIL分批 
讀出記錄到recordset,利用常見的分頁,將所有記錄分頁,每頁作為一批,有多少頁就分多少批 
間隔延遲 
在每頁完畢後用來延遲跳轉 
減少執行時間: 
在迴圈的過程中,迴圈新增收件人,而不要迴圈傳送,即 
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    包含郵件主題、正文的表單,

;一個iframe頁面,

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-985518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章