Visualizzazione dei risultati da 1 a 7 su 7

Discussione: newsletter

  1. #1

    newsletter

    Salve
    Ho un piccolo problema con la creazione di una newsletter!
    utilizzo lo script che ho trovato su html nella sezione asp,
    .....
    <%
    Dim con, rs, strSql, objMail

    If Request.Form("cmdSubmit") <> "" Then
    'The user has submitted the page, so process the Newsletter subscription request

    'Connect to the database
    Set con = GetDBConnection()

    'Get all email addresses in the database
    strSql = "SELECT Email FROM Subscribers"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSql, con, 1, 2

    If rs.EOF Then

    'MODIFY the text below displays when no subscribers exist
    %>
    There are no subscribers to the newsletter.
    <%
    'Clean up database objects
    rs.Close()
    Set rs = Nothing
    con.Close()
    Set con = Nothing

    Response.End
    End If

    While Not(rs.EOF)
    Set objMail = Server.CreateObject("CDONTS.NewMail")

    'MODIFY the following email address will appear as the from address for the email.
    objMail.From = "newsletter@yoursite.com"
    objMail.To = rs("Email")
    objMail.Body = Request.Form("txtEmail")

    objMail.Send

    rs.MoveNext()
    Wend

    'MODIFY the text below displays when all the emails have been sent
    %>
    The emails have been sent.
    <%

    'Clean up database objects
    rs.Close()
    Set rs = Nothing
    con.Close()
    Set con = Nothing

    Else

    'MODIFY the text below is displayed when the page is first loaded.
    %>
    <form action="send.asp" method="post" id=form1 name=form1>
    <div align="center">
    Enter the email message to send:

    <textarea name="txtEmail" cols="50" rows="30"></textarea>

    <input type="submit" name="cmdSubmit" value="Submit">
    </div>
    </form>
    <%
    End If
    %>
    il mio problema è il seguente...
    il database che uso ha il campo email NON obbligatorio
    sono presenti circa 1500 campi con 1000 email.
    >>database
    id nome cognome email
    1 aaaaa bbbbbbb mail@mail.ii
    2 bbbbb ccccccc << manca email
    3 zzzzz xxxxxx aaa@bb.cc
    ecc.


    come faccio a modificare lo script per saltare lo spazio tra le email vuoto
    e analizzare i campi successivi, devo impostare anche il Timeout per la pagina come faccio?

    P.S
    altrimrnti mi potreste consigliare un programmino free per l'invio di newsletter dal mio pc.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: newsletter

    Originariamente inviato da krakus
    Salve
    Ho un piccolo problema con la creazione di una newsletter!
    utilizzo lo script che ho trovato su html nella sezione asp,
    .....
    <%
    Dim con, rs, strSql, objMail

    If Request.Form("cmdSubmit") <> "" Then
    'The user has submitted the page, so process the Newsletter subscription request

    'Connect to the database
    Set con = GetDBConnection()

    'Get all email addresses in the database
    strSql = "SELECT Email FROM Subscribers"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSql, con, 1, 2

    If rs.EOF Then

    'MODIFY the text below displays when no subscribers exist
    %>
    There are no subscribers to the newsletter.
    <%
    'Clean up database objects
    rs.Close()
    Set rs = Nothing
    con.Close()
    Set con = Nothing

    Response.End
    End If

    While Not(rs.EOF)
    Set objMail = Server.CreateObject("CDONTS.NewMail")

    'MODIFY the following email address will appear as the from address for the email.
    objMail.From = "newsletter@yoursite.com"
    objMail.To = rs("Email")
    objMail.Body = Request.Form("txtEmail")

    objMail.Send

    rs.MoveNext()
    Wend

    'MODIFY the text below displays when all the emails have been sent
    %>
    The emails have been sent.
    <%

    'Clean up database objects
    rs.Close()
    Set rs = Nothing
    con.Close()
    Set con = Nothing

    Else

    'MODIFY the text below is displayed when the page is first loaded.
    %>
    <form action="send.asp" method="post" id=form1 name=form1>
    <div align="center">
    Enter the email message to send:

    <textarea name="txtEmail" cols="50" rows="30"></textarea>

    <input type="submit" name="cmdSubmit" value="Submit">
    </div>
    </form>
    <%
    End If
    %>
    il mio problema è il seguente...
    il database che uso ha il campo email NON obbligatorio
    sono presenti circa 1500 campi con 1000 email.
    >>database
    id nome cognome email
    1 aaaaa bbbbbbb mail@mail.ii
    2 bbbbb ccccccc << manca email
    3 zzzzz xxxxxx aaa@bb.cc
    ecc.


    come faccio a modificare lo script per saltare lo spazio tra le email vuoto
    e analizzare i campi successivi, devo impostare anche il Timeout per la pagina come faccio?

    P.S
    altrimrnti mi potreste consigliare un programmino free per l'invio di newsletter dal mio pc.
    Non capiso il tuo problema lo script postato non verifica se i campi sono compilati oppure no.
    probabilmente ti da un errore lato database verifica che il campo mail accetti valore zero

    verifca database, esegui le seguenti operazioni:

    apri tuo database access in modalita struttura seleziona il campo "mail" sotto dove trovi le caratteristiche del campo ci solo le seguenti voci:
    dimensione campo.........
    formato.........
    maschera........
    etichetta valore.........
    ecc..
    alla voce consenti lunghezza zero deve essere imposta su si

    Per impostare la scadenza della pagina dei prima creare una sessione poi settare la scadenza

    P.S. lo script su che server gira on-line?
    Qualora la mia risposta non risolva il problema posta l'errore che ti restituisce con la relativa riga evidenziata, specificando se l'errore e in locale o in rete.

    Ciao Andrea
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    error

    ecco il problema che mi compare

    Oggetto Server, ASP 0177 (0x800401F3)
    Stringa dell'interfaccia non valida.
    /newsletter/send.asp, line 40

    la riga 40 è:
    Set objMail = Server.CreateObject("CDONTS.NewMail")

    cmq vorrei aggiungere il controllo per saltare gli spazi vuoti.

    lo script dovrebbe girare su aruba


  4. #4
    Sei su Win2003.
    Guarda il thread in rilievo per usare CDOSYS e la documentazione Aruba.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: error

    Originariamente inviato da krakus
    ecco il problema che mi compare

    Oggetto Server, ASP 0177 (0x800401F3)
    Stringa dell'interfaccia non valida.
    /newsletter/send.asp, line 40

    la riga 40 è:
    Set objMail = Server.CreateObject("CDONTS.NewMail")

    cmq vorrei aggiungere il controllo per saltare gli spazi vuoti.

    lo script dovrebbe girare su aruba

    Vuol dire che non trova l'oggetto CDONTS dato che è su aruba presumo che sia su server win2003 leggi qui per risolvere il problema

    http://vademecum.aruba.it/start/2003/info.htm

    non capisco cosa vuol dire vorrei aggiungere il controlo per saltare gli spazi vuoti posta esempio

    Ciao Andrea
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6

    mi spiego meglio

    allora ho consentito al db la lunghezza 0 al campo email

    ma appena lo script incontra una cella vuota (senza email)
    mi da il seguente errore

    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'To'

    /send.asp, line 43

    e non manda piu niente anche se nel db ci sono altre email

    dovrei forse fare prima un order by delle email?


    o scrivere nello script di ignorare quella cella e andare avanti

    booh

  7. #7
    Fai una query dove selezioni solo i campi con valore non vuoto o meglio ancora se il valor è vuoto non lasciarlo inserire nel db.

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.