Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Invio newsletter

  1. #1
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115

    Invio newsletter

    Salve,
    ho un problema riguarda l'invio di newsletter in formato html.

    Uso il seguente codice con il quale estraggo gli indirizzi mail da un DB dopodichè tramite CDONTS invio la mail in formato html usando "objMail.To = email" per il destinatario.
    email la valorizzo sfogliando il campo user_mail e newsletter_email, per cui esso deve avere come valore non solo tutti i record di un campo (user_email) ma anche dell'altro (newsletter_email).
    Con il codice che uso estraggo solo il primo record dei 2 campi, quindi dentro al mio codice devo inserire il comando dowhile ... movenext ma non so dove posizionarlo.
    Mi aiutate.

    Poi volevo sapere altre 2 cose:
    - Esiste un modo per evitare che si spediscano doppioni, nel senso che se un indirizzo uguale sia presente in entrambe le tabelle la newsletter sia spedita una volta sola e non due ???
    - Dopo "objMail.Send" quindi dopo avere completato le operazioni di estrazione dati e invio mail, non bisogna chiudere la connessione al DB ???

    Grazie!

    Ecco il codice che uso:--------

    <%@ Language=VBScript %>
    <%

    Set Con = Server.CreateObject( "ADODB.Connection" )
    Con.Open "accessDSN"
    'estrai gli indirizzi email dalla tabella newsletter e clienti
    sqlString = "SELECT user_email, newsletter_email " &_
    "FROM Users, newsletter "
    SET RS = Con.Execute( sqlString )

    email = RS( "user_email" ) & ";" & RS( "newsletter_email" )

    ' invia la newsletter
    Dim objMail
    Set objMail = CreateObject("CDONTS.NewMail")

    HTML = HTML & "<html>"
    HTML = HTML & "<head>"
    HTML = HTML & "<title>Newsletter</title>"
    HTML = HTML & "</head>"
    HTML = HTML & "<body bgcolor=""white"">"
    HTML = HTML & "Questa è la newletter.
    "
    HTML = HTML & "Questa è la newletter.
    "
    HTML = HTML & "Prova"
    HTML = HTML & "</body>"
    HTML = HTML & "</html>"

    objMail.From = "newletter@prova.com"
    objMail.To = email
    objMail.Subject = "Newsletter prova"
    objMail.BodyFormat = 0
    objMail.MailFormat = 0
    objMail.Body = HTML
    objMail.Send
    %>

    <HTML>
    <HEAD>

    </HEAD>
    <BODY>



    Le newsletter sono state spedite!</P>

    </BODY>
    </HTML>

  2. #2
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Aiuto raga !!!!!!!

    Ciao

  3. #3
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Aiutoooo

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <%@ Language=VBScript %> 
    <% 
    
    Set Con = Server.CreateObject( "ADODB.Connection" ) 
    Con.Open "accessDSN" 
    'estrai gli indirizzi email dalla tabella newsletter e clienti 
    sqlString = "SELECT user_email, newsletter_email " &_ 
    "FROM Users, newsletter WHERE Users.user_email<>newsletter.newsletter_email" 
    SET RS = Con.Execute( sqlString ) 
    if not RS.EOF then
    do while not RS.EOF
    email = RS( "user_email" ) & ";" & RS( "newsletter_email" ) 
    
    ' invia la newsletter 
    Dim objMail 
    Set objMail = CreateObject("CDONTS.NewMail") 
    
    HTML = HTML & "<html>" 
    HTML = HTML & "<head>" 
    HTML = HTML & "<title>Newsletter</title>" 
    HTML = HTML & "</head>" 
    HTML = HTML & "<body bgcolor=""white"">" 
    HTML = HTML & "Questa è la newletter.
    " 
    HTML = HTML & "Questa è la newletter.
    " 
    HTML = HTML & "Prova" 
    HTML = HTML & "</body>" 
    HTML = HTML & "</html>" 
    
    objMail.From = "newletter@prova.com" 
    objMail.To = email 
    objMail.Subject = "Newsletter prova" 
    objMail.BodyFormat = 0 
    objMail.MailFormat = 0 
    objMail.Body = HTML 
    objMail.Send 
    
    RS.MOVENext
    Loop
    end if
    RS.Close
    Set RS=nothing
    
    Con.Close
    set Con=nothing
    %> 
    
    <HTML> 
    <HEAD> 
    
    </HEAD> 
    <BODY> 
    
    
    
    Le newsletter sono state spedite!</P> 
    
    </BODY> 
    </HTML>
    Roby

  5. #5
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Ciao Roby_72,
    il tuo codice è perfetto (ho solo anticipato il contenuto di HTML se no veniva continuamente ripetuto e ricaricato in progressione).

    Ho solo un piccolissimo problema:
    - io ho 2 indirizzi mail (user_mail_1, user_mail_2, news_mail_1, news_mail_2) per cadauna delle due tabelle e dopo avere eseguito il codice ogni e-mail ha come destinatari queste combinazioni
    1)user_mail_1 ; news_mail_1
    2)user_mail_1 ; news_mail_2
    3)user_mail_2 ; news_mail_1
    4)user_mail_2 ; news_mail_2

    Come potrai notare ci sono delle continue ripetizioni, per cui ogni destinatario potrebbe ricevere più newsletter uguali, e più saranno le mail più la ripetizione sarà esponenziale.

    Il problema sicuramente è dovuto al modo in cui ho voluto impostare il lavoro.
    Sto pensando di copiare lo stesso codice e inviarlo in 2 volte separate (una per gli user_email e l'altra per le newsletter_mail), anche perchè viene visualizzato più di un indirizzo (addio privacy) ...
    ... oppure trovare un modo per cui ogni volta che si iscrive un nuovo utente in user automaticamente vado ad inserire anche lo stesso indirizzo mail in newsletter.
    tu cosa mi consigli?

    Ciao e grazie mille.

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Visto come hai impostato la cosa sembrerebbe che a regime le due newsletter debbano essere diverse pertanto devi prevedere un doppio invio.
    Scegli una newsletter come base e sull'altra aggiungi un campo del tipo 0/1 in cui prendi nota se una email che stai inserendi è già presente nella tabella principale.

    Roby

  7. #7
    Utente bannato
    Registrato dal
    Sep 2004
    Messaggi
    115
    Il contenuto delle 2 newsletter sarebbe stato cmq uguale ...
    poi ho pensato che comunque la ricezione delle newsletter deve essere richiesta dal cliente se no rientra tra lo spam , giusto?

    quindi credo che utilizzerò solo i dati pescati dal campo newsletter_email, il quale richiede la conferma esplicita del cliente, mentre la user_email deriva dalla registrazione.

    Al massimo inserisco nel form di iscrizione una casella di spunta per iscriversi anche alla newsletter.

    Ciao

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.