Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Problema Newsletter

  1. #1

    Problmea Newsletter

    Ragazzi sto realizzando una newsletter prelevando dal db nome, cognome, ed email che inserisco in un ciclo per invio multiplo.

    Il problema è che non mi invia singole email ad ogni iscritto, ma all' ultimo iscritto invia una mail contenente tutte le email(il testo della email), al penultimo tutte le email tranne quella dell' ultimo e così via...

    Questo il codice, che mi potete dire?

    codice:
    <%
    Dim newslt
    Set newslt = Server.CreateObject("ADODB.Recordset")
    Dim SQLnewslt
    SQLnewslt="Select Nome, Cognome, Email FROM utenti order by id" 
    newslt.Open SQLnewslt,conn 
    If newslt.EOF then
    Response.Write("")
    else
    while not newslt.EOF  With Response
    nome = ""&newslt("nome")&""
    cognome = ""&newslt("cognome")&""
    email = ""&newslt("email")&""
    
    
    strHTML = strHTML & "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>"
    strHTML = strHTML & "<html>"
    strHTML = strHTML & "<head>"
    strHTML = strHTML & "<title>Documento senza titolo</title>"
    strHTML = strHTML & "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>"
    strHTML = strHTML & "<link href='http://css' rel='stylesheet' type='text/css'>"
    strHTML = strHTML & "</head>"
    strHTML = strHTML & "<body bgcolor='#D2D2D2'>"
    strHTML = strHTML & "<div align='center'>"
      strHTML = strHTML & "<table width='600' border='0' cellspacing='0' cellpadding='0'>"
       strHTML = strHTML & " <tr>"
          strHTML = strHTML & "<td height='46' style='background-image:url(http://);background-repeat:no-repeat; background-position:right bottom;'></td>"
        strHTML = strHTML & "</tr>"
        strHTML = strHTML & "<tr>"
          strHTML = strHTML & "<td bgcolor='#FFFFFF' style='background-image:url(http://); background-position:right bottom;'><div align='center'>"
              strHTML = strHTML & "<table width='96%' border='0' cellspacing='0' cellpadding='0'>"
                strHTML = strHTML & "<tr>"
                  strHTML = strHTML & "<td></td>"
                strHTML = strHTML & "</tr>"
                strHTML = strHTML & "<tr>"
                  strHTML = strHTML & "<td><p align='justify' class='testo'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Gentile "&nome&""&cognome&",
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "la registrazione ad Shop &egrave; stata eseguita con "
                      strHTML = strHTML & "successo.
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Da questo momento potrai accedere all' "
                      strHTML = strHTML & "area riservata del negozio IG Pro Shop ed effettuare i tuoi "
                      strHTML = strHTML & "acquisti in massima libert&agrave;.
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Non &egrave; tutto! Potrai seguire lo stato dei tuoi ordini "
                      strHTML = strHTML & "direttamente on line, vendere la tua attrezzatura usata ed usufruire "
                      strHTML = strHTML & "di importanti promozioni.
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Per accedere all' area riservata di Shop dovrai attivare "
                      strHTML = strHTML & "il tuo account attraverso il link di seguito:
    "
                      strHTML = strHTML & "http://
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Questi i dati di accesso indicati al momento della registrazione:
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "username: "&Request.Querystring("username")&"
    "
                      strHTML = strHTML & "password: "&Request.Querystring("password")&"
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Ti ricordiamo che attivata la registrazione potrai accedere "
                      strHTML = strHTML & "anche ai servizi on line di Infogolf.it.
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Buona navigazione.
    "
                      strHTML = strHTML & "
    "
                      strHTML = strHTML & "Shop</font></p>"
                    strHTML = strHTML & "</td>"
                strHTML = strHTML & "</tr>"
                strHTML = strHTML & "<tr>"
                  strHTML = strHTML & "<td></td>"
               strHTML = strHTML & "</tr>"
              strHTML = strHTML & "</table>"
           strHTML = strHTML & "</div></td>"
        strHTML = strHTML & "</tr>"
        strHTML = strHTML & "<tr>"
          strHTML = strHTML & "<td height='43' style='background-image:url(http://);background-repeat:no-repeat; background-position:right bottom;'></td>"
        strHTML = strHTML & "</tr>"
      strHTML = strHTML & "</table>"
    strHTML = strHTML & "</div>"
    strHTML = strHTML & "</body>"
    strHTML = strHTML & "</html>"
    
    ' istanza di CDO.Message
    set CDOmail = CreateObject("CDO.Message")
    
    CDOmail.To = email
    CDOmail.From = "newsletter@prova.info"
    CDOmail.Subject = "Newsletter"
    
    ' testo da inviare
    CDOmail.HTMLBody = strHTML
    
    ' invio del messaggio
    CDOmail.Send()
    End With
    newslt.MoveNext
    Wend
    end if
    conn.close
    
    %>
    Scambio link

  2. #2
    Secondo me devi chiudere l'istanza di CDOSYS ogni volta, prima di passare al record successivo:
    codice:
    ' istanza di CDO.Message
    set CDOmail = CreateObject("CDO.Message")
    
    CDOmail.To = email
    CDOmail.From = "newsletter@prova.info"
    CDOmail.Subject = "Newsletter"
    
    ' testo da inviare
    CDOmail.HTMLBody = strHTML
    
    ' invio del messaggio
    CDOmail.Send()
    
    Set CDOmail = Nothing
    End With
    newslt.MoveNext

  3. #3
    ho inserito anche
    Wend
    end if
    perchè lo richiedeva ma non cambia, al primo record arriva una email con un messaggio, al secondo un email contenente il messaggio del record1 + il suo, al terzo il messaggio dei record1 e 2 + il suo e così via...
    Scambio link

  4. #4
    Togli
    codice:
    while not newslt.EOF  With Response
    e metti
    codice:
    Do While not newslt.EOF
    Togli
    codice:
    Set CDOmail = Nothing
    End With
    newslt.MoveNext
    Wend
    e metti
    codice:
    Set CDOmail = Nothing
    newslt.MoveNext
    Loop

  5. #5
    Mi da errore

    codice:
    Errore di compilazione di Microsoft VBScript error '800a040e' 
    
    'Loop' senza 'Do' 
    
    /restyling ig pro shop/newsletter.asp, line 97 
    
    Loop
    ^
    Scambio link

  6. #6
    Nell'esempio che ti ho fatto io il Do c'è.
    Riposta il codice completo e corretto.

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi svuotare la variabile ad ogni ciclo:

    codice:
    strHTML = ""
    Roby

  8. #8
    ho controllato... ho inserito il tutto come mi dicevi ma niente da fare continua l' errore
    Scambio link

  9. #9
    Giusto Roby!!

    Grazie!

    Grazie Dirk Pitt!

    Scambio link

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.