Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: newsletter ASP CDOSYS

  1. #1
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109

    newsletter ASP CDOSYS

    Salve, ho scaricato una di quelle newsletter già implementate, l'ho personalizzata a mio piacimento con l'aggiunta anche di qualche funzione e grafica.
    Il DB è in access, ho solo un piccolo problema, l'invio funziona perfettamente, sollo che ogni persona che riceve la newsletter vede le mail di tutti quelli inseririti nel DB (A: EMAIL).
    Vi chiedo, visto che non so proprio dove mettere le mani, è possibile in qualche modo far si che venga visualizzato solo la mail del ricevente, oppure nascondere tutto???
    Grazie mille a tutti..

    Posto anche il codice cosi forse è più chiaro:

    Codice PHP:

    'Send email (CDOSYS version).
        
        if mailComp = "CDOSYS" then
          set cdoMessage = Server.CreateObject("CDO.Message")
          set cdoConfig = Server.CreateObject("CDO.Configuration")
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
          cdoConfig.Fields.Update
          set cdoMessage.Configuration = cdoConfig
          cdoMessage.From =  fromAddr
          cdoMessage.To = strEmail
          cdoMessage.Subject = subject
          If Request.Form("version") = "html" Then
            cdoMessage.HtmlBody = strEmailMsg
          Else
            cdoMessage.TextBody = strEmailMsg
          End If
          on error resume next
          cdoMessage.Send
          if Err.Number <> 0 then
            SendMail = "Email send failed: " & Err.Description & "."
          end if
          set cdoMessage = Nothing
          set cdoConfig = Nothing
        end if 

  2. #2
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Fai un ciclo while che cicli l'array degli indirizzi email e ripeta il codice di invio email ogni volta per ogni indirizzo.

    Anzichè fare un invio a 10 email, fai 10 invii a 1 email.

  3. #3
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    Sarebbe una grande cosa, ma io non sono tanto capace da implementarlo....Mi puoi aiutare???

    Ho provato a sostiruire alla chiamata

    cdoMessage.To con cdoMessage.Bcc invia in copia carbone nascosta.....Però non mi appare ovviamente l'indirizzo A: ......

  4. #4
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Il punto è questo:

    cdoMessage.To = strEmail


    dentro STREMAIL cosa c'è?

    Da come descrivi il problema presumo una lista di indirizzi email giusto?

  5. #5
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    questo è il pezzo di codice dove è specificata questa variabile...

    Codice PHP:
    <%
      
    Dim rsNewsrecipientsstrCount
      Set rsNews 
    Server.CreateObject("ADODB.Recordset")
      
    strSQL "SELECT * FROM newsLetter WHERE confirm = 'yes';"
      
    rsNews.Open strSQLobjConnadOpenForwardOnlyadLockOptimisticadCmdText
      strCount 
    0
      
    If Not rsNews.EOF Then
        
    Do While Not rsNews.EOF
          recipients 
    recipients rsNews("email") & ","
          
    strCount strCount 1
          rsNews
    .MoveNext
        Loop
        recipients 
    Left(recipients,Len(recipients)-1)
      
    End If
      
    rsNews.Close
      Set rsNews 
    Nothing
      
      
    If Request.Form("action") = "" Then
    %> 
    Codice PHP:
    <%
      Else
        
    Dim mailObjcdoMessagecdoConfigaddrListstrEmailMsgsubject
        Dim strEmail
        
        strEmail 
    Request.Form("recipients")
        
    subject request.form("nwsubject")
        
    'send email so subscriber can confirm
        strEmailMsg = Replace(Request.Form("msg"),Chr(13) & Chr(10),"
    ")
        If Request.Form("version") = "html" Then
          strEmailMsg = strEmailMsg & strFooter
        Else
          strEmailMsg = Replace(strEmailMsg & strFooter,"
    ",Chr(13) & Chr(10))
        End If 
    Dopo di questo controllo ci sta il pezzo di codice che invia CDOSYS

  6. #6
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    ecco appunto dentro la variabile
    recipients sono contenute tutte le email separata da ","


    quindi puoi fare:
    arrayemail = split(strEmail, ",")

    indice = 0
    max = UBOUND(arrayemail)


    WHILE NOT i> MAX

    'qui metti il codice che manda l'email modificando solo questa riga anzichè:
    'cdoMessage.To = strEmail
    'scriverai:
    cdoMessage.To = arrayemail(i)

    i = i + 1
    WEND

  7. #7
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    Non ho capito dove devi inserire questo pezzo di codice:

    Codice PHP:
    arrayemail split(strEmail",")

    indice 0
    max 
    UBOUND(arrayemail)


    WHILE 
    NOT iMAX 
    Scusami ma non sono ferratissimo...

  8. #8
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    al posto del codice:

    codice:
          set cdoMessage = Server.CreateObject("CDO.Message") 
          set cdoConfig = Server.CreateObject("CDO.Configuration") 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer 
          cdoConfig.Fields.Update 
          set cdoMessage.Configuration = cdoConfig 
          cdoMessage.From =  fromAddr 
          cdoMessage.To = strEmail 
          cdoMessage.Subject = subject 
          If Request.Form("version") = "html" Then 
            cdoMessage.HtmlBody = strEmailMsg 
          Else 
            cdoMessage.TextBody = strEmailMsg 
          End If 
          on error resume next 
          cdoMessage.Send 
          if Err.Number <> 0 then 
            SendMail = "Email send failed: " & Err.Description & "." 
          end if 
          set cdoMessage = Nothing 
          set cdoConfig = Nothing
    metti il codice:

    codice:
    arrayemail = split(strEmail, ",")
    
    indice = 0
    max = UBOUND(arrayemail)
    
    
    WHILE NOT i> MAX 
    
    
          set cdoMessage = Server.CreateObject("CDO.Message") 
          set cdoConfig = Server.CreateObject("CDO.Configuration") 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer 
          cdoConfig.Fields.Update 
          set cdoMessage.Configuration = cdoConfig 
          cdoMessage.From =  fromAddr 
          cdoMessage.To = arrayemail(i)
          cdoMessage.Subject = subject 
          If Request.Form("version") = "html" Then 
            cdoMessage.HtmlBody = strEmailMsg 
          Else 
            cdoMessage.TextBody = strEmailMsg 
          End If 
          on error resume next 
          cdoMessage.Send 
          if Err.Number <> 0 then 
            SendMail = "Email send failed: " & Err.Description & "." 
          end if 
          set cdoMessage = Nothing 
          set cdoConfig = Nothing 
    
    i = i + 1
    WEND

  9. #9
    Utente di HTML.it L'avatar di tommy84
    Registrato dal
    Jan 2006
    Messaggi
    109
    Ho fatto come hai detto tu ....

    Mi genera questo errore:

    Codice PHP:
    Microsoft VBScript compilation  error '800a03f6'

    Expected 'End'

    /newsletter/mail.aspline 210 
    Questo è come ho sostituito il codice nella pagina:

    Codice PHP:

    'Send email (CDOSYS version).
        
        if mailComp = "CDOSYS" then
          arrayemail = split(strEmail, ",")

    indice = 0
    max = UBOUND(arrayemail)


    WHILE NOT i> MAX 


          set cdoMessage = Server.CreateObject("CDO.Message") 
          set cdoConfig = Server.CreateObject("CDO.Configuration") 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
          cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer 
          cdoConfig.Fields.Update 
          set cdoMessage.Configuration = cdoConfig 
          cdoMessage.From =  fromAddr 
          cdoMessage.To = arrayemail(i)
          cdoMessage.Subject = subject 
          If Request.Form("version") = "html" Then 
            cdoMessage.HtmlBody = strEmailMsg 
          Else 
            cdoMessage.TextBody = strEmailMsg 
          End If 
          on error resume next 
          cdoMessage.Send 
          if Err.Number <> 0 then 
            SendMail = "Email send failed: " & Err.Description & "." 
          end if 
          set cdoMessage = Nothing 
          set cdoConfig = Nothing 

    i = i + 1
    WEND 
    Codice PHP:
    If Err.Number <> 0 then
          Response
    .Write SendMail
        
    Else
          
    Response.Write "<div align=""center"">

    _
                         
    "<span style=""font-family:arial;font-size:12px;color:#000080;font-weight:bold;text-align:left"">" _
                         
    "Success! Newsletter sent</span></div>"
        
    End If
      
    End If
      
      If 
    Request.Form("purge") = "yes" Then
          Set rsNews 
    Server.CreateObject("ADODB.Recordset")
          
    strSQL "SELECT * FROM newsLetter WHERE confirm = 'no';"
          
    rsNews.Open strSQLobjConnadOpenForwardOnlyadLockOptimisticadCmdText
          
    If Not rsNews.EOF Then
              
    Do While Not rsNews.EOF
                
    If DateDiff("y",rsNews("Date"),Now) > 7 then
                  rsNews
    .delete
                End 
    If
                
    rsNews.MoveNext
              Loop
          End 
    If
          
    rsNews.Close
          Set rsNews 
    Nothing
      End 
    If

      
    objConn.Close
      Set objConn 
    Nothing (Questa è la riga 210dopo  %> si chiuede </body> </html> )
    %> 

  10. #10
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    ci va un END IF dopo il WEND del primo blocco di codice...

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.