Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Invio massivo email

  1. #1

    Invio massivo email

    Ciao ho trovato questo codice invio massivo di email con la ricerca.

    E' strano ma dà errore sulla riga "send" dopo che ha inviato la prima serie di msg email, sapete dirmi perchè?

    codice:
       Function Sleep(sec)
    	   Dim Start:Start = Timer:While (Timer-Start<sec):Wend
       End function
    
       xSQL = " SELECT * FROM "
       xSQL = xSQL & " tbl"
     
       Set rec = server.CreateObject("ADODB.Recordset") 
       rec.Open xSQL, Cn
    
       if not rec.eof then    
       
    Const cdoSendUsingMethod        = _
    	"http://schemas.microsoft.com/cdo/configuration/sendusing"
    Const cdoSendUsingPort          = 2
    Const cdoSMTPServer             = _
    	"http://schemas.microsoft.com/cdo/configuration/smtpserver"
    Const cdoSMTPServerPort         = _
    	"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
    Const cdoSMTPConnectionTimeout  = _
    	"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
    
       rec.MoveFirst()   
       Conta = 0
       ListaDestinatari = ""
          
       Do Until rec.eof
       Do Until (Conta > 8) OR (rec.eof = true)
    
       ListaDestinatari = ListaDestinatari & rec("email") & "; "
       Conta = Conta + 1
    
       rec.MoveNext() 
       Loop   
    
    '#### CREO LA MAIL
    
    Set objConfig = Server.CreateObject("CDO.Configuration")
    Set Fields = objConfig.Fields
    
    With Fields
    	.Item(cdoSendUsingMethod)       = cdoSendUsingPort
    	.Item(cdoSMTPServer)            = "mio.dominio.it"
    	.Item(cdoSMTPServerPort)        = 25
    	.Item(cdoSMTPConnectionTimeout) = 10
    	.Update
    End With
    
    Set objMessage = Server.CreateObject("CDO.Message")
    Set objMessage.Configuration = objConfig
    
    With objMessage
        .From     = "mittente@mittente.it"
        .To        = ListaDestinatari
        .Cc         = "mittente@mittente.it"
        .Subject  = "Oggetto msg"
        .HtmlBody = "messaggio di prova"
        .Send
    End With
    
    Response.Write("Attendo 5 secondi...")
    Response.Flush
    Sleep 5
    Response.Write("OK ===> ")
    
    response.write "Email inviata a ===> " 
    response.write "" & ListaDestinatari & ""
    response.write "
    
    "
    
    Conta = 0
    ListaDestinatari = ""
    
       Set Fields = Nothing
       Set objMessage = Nothing
       Set objConfig = Nothing 
          
       Loop 
         
       end if
       
       end if   
       
       rec.Close()
       Set rec = Nothing
    
       cn.Close()
       Set cn = Nothing
    
    %>

  2. #2
    dà errore... mille anni into o'forum e ancora non hai imBarato a dire QUALE errore?


  3. #3
    Originariamente inviato da optime
    dà errore... mille anni into o'forum e ancora non hai imBarato a dire QUALE errore?


    Bè mille anni.... adesso non esageriamo

    L'errore è ( rullo di tamburi... ):

    error '8004020f'
    /SendEmail.asp, line 128


    La riga 128 è :

    .Send

    Cmq piacere di riavere tue notizie...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Io uso questo codice, e anche se un pò lento non mi ha dato problemi. Finora però l'ho testato su 100 invii di mail per volta...dovrei arrivare almeno a 400.

    Posto il codice, magari ti può servire.

    ps. la riga del tuo errore è la 58

    <%@ Language=VBScript %>
    <%

    Dim strricecodifisc
    strURL = Request.ServerVariables("URL")

    Dim iMsg
    Dim iConf
    Dim Flds
    set iMsg = CreateObject("CDO.Message")
    set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True
    Flds.Update

    With iMsg
    Set .Configuration = iConf
    .To = "XXXXX@poste.it"
    .From = "YYYY@ZZZZ.it"
    .Bcc = "WWWW@poste.it"
    .Subject = "zzzz n. 13-08 (prova)"
    .CreateMHTMLBody "http://www.repubblica.it"
    .Send
    End With

    %>

  5. #5
    Non capisco il codice che hai postato.

  6. #6
    Il problema sembra essere questa parte:

    codice:
    Const cdoSendUsingPort          =  2
    Così da errore; invece così non dà errore ma non invia il messaggio:

    codice:
    Const cdoSendUsingPort          =  1
    Da che dipende???

  7. #7
    Sempre più strano... ho aggiunto al codice originale questa parte:

    codice:
    on error resume next
       cdoMessage.Send
       if Err.Number <> 0 then
         response.Write "Email send failed: " & Err.Description & ".
    "&vbcrlf
       end if
    L'errore è:

    codice:
    Email send failed: Object required.
    Eppure le email partono tutte e vengono ricevute dalla lista destinatari... :master:

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da Enrique_Rojas
    Non capisco il codice che hai postato.
    Che cosa non ti è chiaro?

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.