6 messaggi dal 17 maggio 2006
Ciao ragazzi,
devo risolvere un problema relativo all'invio a blocchi di una mailing list.
Supponiamo che ho un database con 4 record, con una colonna per l'email ed una che identifica il gruppo:
prima_email || 1
seconda_email || 1
terza_email || 2
quarta_email || 2

come vedete le prime due email appartengono al gruppo 1, e le ultime due al gruppo 2.
Adesso io sto creando un codice per inviare prima la newsletter alle prime due email, e successivamente alle ultime due.
ho scritto questo codice:

sql = "SELECT MAX(gruppo) AS gruppo FROM tab_mailing"
set rs = conn.execute(sql)
max = rs("gruppo")

for i = 1 to max
sql2 = "SELECT *FROM tab_mailing WHERE gruppo = " & i
set rs2 = conn.execute(sql2)

do while not rs2.eof

email = rs2("email")
email2 = email &"; "
destinatari = destinatari & email2
txt_invio = "Invio In Corso"


rs2.movenext
loop
<b>response.Write i&"<br>"&destinatari & "<br>"</b>

'invio
invioA =  destinatari
invioDa =  "zseven@zseven.it"

With iMsg
   Set .Configuration = iConf
   .To = destinatari
   .From = invioDA
'   .Cc = 
   .Sender = invioDa
   .Subject = titolo
   .TextBody = messaggio 
   .HTMLbody = html
  ' .Send
End With

next


Ho messo in neretto la riga che utilizzo per stamapare a video il risultato della variabile "destinatari". Il problema è proprio lì.
fa un raggruppamento errato, in quanto:
per i = 1
mi restituisce:
prima_email; seconda_email;
e fin qui tutto ok.

invece per i = 2
mi restituisce:
prima_Email; seconda_email; terza_email; quarta_email;
mentre invece dovrebbe darmi soltanto le ultime due!!!

Sapete dirmi cosa ho sbagliato?
Grazie a tutti
6 messaggi dal 17 maggio 2006
come non detto... ho risolto!
prima di ricominciare con iol ciclo dovevo pulire la variabile destinatari!
destinatari = ""

grazie cmq!!
6 messaggi dal 17 maggio 2006
ragazzi scusate se continuo a rispondermi da solo, ma purtroppo ho un problema.
ho scritto questo codice per l'invio a blocchi di una newsletter.
In pratica creo un blocco di 100 destinatari, e faccio un ciclo inviando tutti i blocchi.
Provandolo con una decina di destinatari funziona, purtroppo quando lo vado a testare con 1000 circa mi va in errore.
Continua a caricare e alla fine dopo un'attesa di circa 5/6 minuti mi esce l'errore.
Vi posto il codice:
sql = "SELECT MAX(gruppo) AS gruppo FROM tab_mailing"
'sql = "SELECT TOP 2 *FROM tab_mailing WHERE inviato = false ORDER BY ID_mailing ASC"
set rs = conn.execute(sql)
max = rs("gruppo")

for i = 1 to max
sql2 = "SELECT *FROM tab_mailing WHERE gruppo = " & i & " ORDER BY ID_mailing ASC"
set rs2 = conn.execute(sql2)

do while not rs2.eof

email = rs2("email")
email2 = email &"; "
destinatari = destinatari & email2
txt_invio = "Invio In Corso"

rs2.movenext
loop

'invio
invioA =  destinatari
invioDa =  "info@bulldogstorenapoli.com"

With iMsg
   Set .Configuration = iConf
   .To = ""
   .From = invioDA
   .BCc = destinatari
   .Sender = invioDa
   .Subject = titolo
   .TextBody = messaggio 
   .HTMLbody = html
   .Send
End With

destinatari = ""

next


Sapete darmi una mano?
Grazie!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.