C'è qualcuno che saprebbe risolvere il mio problema, per favore?
C'è qualcuno che saprebbe risolvere il mio problema, per favore?
Posta TUTTO lo scritp.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
ecco lo script (il campo inviata è un campo numerico con valore preimpostato a 0)
Grazie Robycodice:<% Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/dbase.mdb") set Rsmail = Server.CreateObject("ADODB.Recordset") strsql= "SELECT email from utenti WHERE inviata = 0" Rsmail.Open strsql,conn do while not Rsmail.EOF Email = RSmail.Fields.Item("Email").Value Dim miaMail Set miaMail = CreateObject("CDONTS.NewMail") miaMail.From = "miamail@mail.it" miaMail.To = "" miaMail.Bcc = email dim strOggMail strOggMail = "Mailing" strBodyMail = "" .... .... miaMail.Subject = strOggMail miaMail.BodyFormat = 0 miaMail.MailFormat = 0 miaMail.Body = strBodyMail miaMail.Send Rsmail("inviata")=1 Rsmail.Update Set miaMail = Nothing Rsmail.MoveNext Loop Rsmail.close set Rsmail=Nothing Conn.close set Conn=Nothing
Così ti manda le prime 20 email.
In coda dovresti mettere un pulsante che ricarichi la pagina per inviare ogni volta 20 email...
codice:<% Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/dbase.mdb") set Rsmail = Server.CreateObject("ADODB.Recordset") strsql= "SELECT TOP 20 email from utenti WHERE inviata = 0" Rsmail.Open strsql,conn do while not Rsmail.EOF Email = RSmail("Email") Dim miaMail Set miaMail = CreateObject("CDONTS.NewMail") miaMail.From = "miamail@mail.it" miaMail.To = "" miaMail.Bcc = email dim strOggMail strOggMail = "Mailing" strBodyMail = "" .... .... miaMail.Subject = strOggMail miaMail.BodyFormat = 0 miaMail.MailFormat = 0 miaMail.Body = strBodyMail miaMail.Send Set miaMail = Nothing strSQL="UPDATE utenti SET inviata = 1 WHERE email = '"& Email &"'" conn.Execute(strSQL) Rsmail.MoveNext Loop Rsmail.close set Rsmail=Nothing Conn.close set Conn=Nothing %>
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Eccomi...
Scusami, prima di tutto grazie... ho provato adesso, il campo inviata viene aggiornato, però non rispetta il numero che viene indicato. Nel snso che ho scritto SELECT TOP 3 Email ... invece scrivi 1 al campo inviata di tutti gli indirizzi e-mail.
Da che può dipendere?
Non comprendo...
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Forse ho scritto in maniera poco chiara
allora nella select ho fatto selezionare i primi 3 indirizzi e-mail (primo blocco di e-mail, ne ho selezionate solo 3 per provare)
il campo inviata all'inizio dell'operazione aveva tutti i valori = 0
fatta girare la pagina invia.asp trovo nel database il valore =1 in tutti i campi inviata relativa a tutti gli indirizzi e-mail
Penso che invece dovrebbe segnare il campo inviata=1 solamente ai primi 3 nominativi e-mail così sarebbe partito il prmo blocco, dopodichè alla prossima riesecuzione della pagina avrebbe ripreso i prime 3 con il valore=0 nel campo inviata e così via...
invece se lui inserisce il valore=1 nel campo inviata relativo a tutti gli indirizzi e mail, all'altra esecuzione della pagina troverà quel valore per tutti i campi e no invia più niente... giusto?
Giusto, vuol dire che esegue male questa query:
strSQL="UPDATE utenti SET inviata = 1 WHERE email = '"& Email &"'"
Se la tabella ha un campo contatore metti quello nella WHERE.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Si, c'è anche un campo contatore che si chiama ID.
Quindi come verebbe scritta la stsrql?
strSQL="UPDATE utenti SET inviata = 1 WHERE ID = ???
Scusami (pensa che stai facendo un'opera buona!) ;-)
Robycodice:<% Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/dbase.mdb") set Rsmail = Server.CreateObject("ADODB.Recordset") strsql= "SELECT TOP 20 * FROM utenti WHERE inviata = 0" Rsmail.Open strsql,conn do while not Rsmail.EOF id = RSmail("id") email = RSmail("email") Dim miaMail Set miaMail = CreateObject("CDONTS.NewMail") miaMail.From = "miamail@mail.it" miaMail.To = "" miaMail.Bcc = email dim strOggMail strOggMail = "Mailing" strBodyMail = "" .... .... miaMail.Subject = strOggMail miaMail.BodyFormat = 0 miaMail.MailFormat = 0 miaMail.Body = strBodyMail miaMail.Send Set miaMail = Nothing strSQL="UPDATE utenti SET inviata = 1 WHERE id ="& id conn.Execute(strSQL) Rsmail.MoveNext Loop Rsmail.close set Rsmail=Nothing Conn.close set Conn=Nothing %>
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!