Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 45
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    439

    database per mailing list

    Salve ho questo script per l'invio ad una mailing list... il problema è che l'invio viene effettuato solamente al primo nominativo presente nel database... Vi prego aiutatemi!

    codice:
    <%
    	Set conn = Server.CreateObject("ADODB.Connection")
    	conn.Open "DSN=Mailing"
      	set Rsmail = Server.CreateObject("ADODB.Recordset")
      	strsql= "SELECT email FROM utenti"
      	Rsmail.Open strsql,conn,1,1
    
        Email = RSmail.Fields.Item("Email").Value
    
    
    		Dim miaMail 
    		Set miaMail = CreateObject("CDONTS.NewMail") 
    		
    		miaMail.From = "mail.it"
    		miaMail.To = ""
    		miaMail.Bcc = email
     		
    		dim strOggMail

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <%
    	Set conn = Server.CreateObject("ADODB.Connection")
    	conn.Open "DSN=Mailing"
      	set Rsmail = Server.CreateObject("ADODB.Recordset")
      	strsql= "SELECT email FROM utenti"
      	Rsmail.Open strsql,conn,1,1
    do while not Rsmail.EOF
        Email = RSmail.Fields.Item("Email").Value
    
    
    		Dim miaMail 
    		Set miaMail = CreateObject("CDONTS.NewMail") 
    		
    		miaMail.From = "mail.it"
    		miaMail.To = ""
    		miaMail.Bcc = email
     		
    		dim strOggMail 
    ...
    ...
    ...
    Rsmail.MoveNext
    Loop
    Roby

  3. #3
    Se non ho capito male, tu vorresti mandare una mail e tutti gli utenti presenti nella mailing list.
    Quindi devi innanzi tutto farti un ciclo per prendere tutti i destinatari. TI faccio un esempio:

    do while not rs.eof
    email = rs.fields("email")
    destinatari = destinatari & email &";"
    rs.movenext
    loop

    quindi dove specifichi i destinatari utilizzi la variabile appena riempita.
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    439
    Grazie il loop devo metterlo prima di

    miaMail.Subject = strOggMail
    miaMail.BodyFormat = 0
    miaMail.MailFormat = 0
    miaMail.Body = strBodyMail
    miaMail.Send

    o dopo?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da Marco7303
    Grazie il loop devo metterlo prima di

    miaMail.Subject = strOggMail
    miaMail.BodyFormat = 0
    miaMail.MailFormat = 0
    miaMail.Body = strBodyMail
    miaMail.Send

    o dopo?
    Te l'ho già scritto sopra come devi fare....

    Roby

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    439
    Così? (scusami!)

    codice:
    	Set conn = Server.CreateObject("ADODB.Connection")
    	conn.Open "DSN=Mailing"
      	set Rsmail = Server.CreateObject("ADODB.Recordset")
      	strsql= "SELECT email FROM utenti"
      	Rsmail.Open strsql,conn,1,1
    
    	do while not Rsmail.EOF
    
        Email = RSmail.Fields.Item("Email").Value
    
    
    		Dim miaMail 
    		Set miaMail = CreateObject("CDONTS.NewMail") 
    		
    		miaMail.From = "mioindirizzo@mail.it"
    		miaMail.To = ""
    		miaMail.Bcc = email
     		
    		dim strOggMail 
    		
    		strOggMail = "bla bla" 
    
    		strBodyMail = "" 
            
    strBodyMail = "<html><head><title>bla bla</title></head>"
    		
    strBodyMail = strBodyMail & "<body bgcolor=#FFFFCC background=http://www.blabla.jpg>"
    
    ...
    ...
    ...						
    		strBodyMail = strBodyMail & "</body></html>"			
    
    Rsmail.MoveNext
    Loop
    
    		miaMail.Subject = strOggMail 
    		miaMail.BodyFormat = 0 
    		miaMail.MailFormat = 0 
    		miaMail.Body = strBodyMail 
    		miaMail.Send 		
    
    		Set miaMail = Nothing 
    
    		Rsmail.close
    		set Rsmail=Nothing
    
    		Conn.close
    		set Conn=Nothing

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questo

    Rsmail.MoveNext
    Loop

    va subito dopo

    Set miaMail = Nothing


    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    439
    Continua a non andare... ho sbagliato qualche altra cosa nello script???

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    439
    Ecco adesso funziona però avendo più di 2000 indirizzi dopo un po' di tempo va in blocco la pagina scrivendomi:

    Active Server Pages error 'ASP 0113'

    Script timed out

    /newsletter/invia.asp

    The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

    Come si può ovviare? Avevo letto sempre nel forum (ma non riesco a trovare più la pagina) che c'erà un sistema per splittare l'invio a pacchetti

    Qualcuno saprebbe o per il TimeOut o per lo split?

    GRAZIE

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Aumenta lo script time out. Ad inizio pagina metti:

    <%
    server.scripttimeout = 300 'numero di secondi = 5 minuti
    %>

    Ti conviene comunque paginarle e mandarle a blocchi.

    Roby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.