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