Discussione chiusa
Risultati da 1 a 6 di 6

Discussione: Modifica Codice CDCONTS in CDOSYS

  1. #1
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Predefinito

    Guardando il tuo codice (entrambi), ho notato che riempi From, To e Subject, ma non imposti il Body, né mandi via la mail. Che sia questo il problema?

  2. #2
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Lightbulb Invio Mail

    Codice:
     Sub InvioMail(MailFrom, MailTo) 
    
    	'Invio mail ...
    	Dim sMsg
    	Dim objMail
    	
    	Set objMail = CreateObject("CDO.Message")
    	objMail.From = MailFrom
    	objMail.To = MailTo
    	objMail.Subject = "Benvenuto nella topsite!"
    	
    	sMsg = "Grazie per esserti iscritto alla classifica !" & vbCrLf & vbCrLf
    	sMsg = sMsg & "Ecco le Tue chiavi d'accesso!!! " & vbCrLf
    	sMsg = sMsg & "-----------------------------" & vbCrLf
    	sMsg = sMsg & "Userid: " & nNewId & vbCrLf
    	sMsg = sMsg & "Password: " & sPassword & vbCrLf
    	sMsg = sMsg & "-----------------------------Prendi nota di queste informazione e conservale. " & vbCrLf
    	sMsg = sMsg & "1. ECCO IL CODICE HTML CHE DOVRAI INSERIRE NELLE TUE PAGINE WEB:" & vbCrLf & vbCrLf
    	sMsg = sMsg & " <a href=" & g_strPath & "/vota.asp?manager=aspcode.net&id=" & CStr(nNewId) & "> <img src=" & g_strButtonImagePath & "></a>" & vbCrLf & vbCrLf
    	sMsg = sMsg & "2. Clicca sul link seguente per accedere ai tuoi dati: " & g_strPath & "/admin.asp" & vbCrLf
    	sMsg = sMsg & "3. Clicca sul link per guardare la classifica: " & g_strPath & "/index.asp" & vbCrLf & vbCrLf
    	
    	.TextBody = sMsg
    	.Send
    
    End Sub

  3. #3
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Lightbulb Invio Mail II

    Codice:
     
    
    	Dim sErrorText
    	Dim oConn, oRS, sEmail, sMailText
    	Dim objMail
    	
    	If Request.Form("email") <> "" Then
    		Set oConn = IncTopsite_GetDatabaseConn()
    		sEmail = Request.Form("email")
    		sMailText = ""
    		Set oRS = oConn.Execute("select id, url, sitename, password from " & IncTopsite_GetTablePrefix() & "site where email = '" & sEmail & "'")
    		Do While Not oRS.EOF
    			sMailText = sMailText & "Ecco le informazioni dell'account:" & vbCrLf & oRS("sitename") & vbCrLf & " URL:" & oRS("url") & vbCrLf
    			sMailText = sMailText & "Login_ID :" & oRS("id") & vbCrLf
    			sMailText = sMailText & "Password :" & oRS("password") & vbCrLf & "********" & vbCrLf & vbCrLf
    			oRS.movenext
    		Loop
    		oRS.Close
    		Set oRS = Nothing
    		oConn.Close
    		Set oConn = Nothing
    		
    		If sMailText = "" Then
    			sErrorText = "<font color=#800000>Spiacente!!! La tua Email non è corretta. Riprova!</font>"
    		Else
    			sMailText = sMailText & "Per accedere ai tuoi dati clicca qui:" & vbCrLf & g_strPath & "/admin_account.asp" & vbCrLf & vbCrLf
    			sErrorText = "<font color=#800000>La tua Email è stata riconosciuta</font>"
    			Set objMail = server.CreateObject("CDO.Message")
    			objMail.From = g_OutgoingMailFrom
    			objMail.To = sEmail
    			objMail.Subject = "Richiesta Password!"
    			objMail.TextBody = sMailText
    			objMail.Send
    		End If
    	End If

  4. #4
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Predefinito Note invio mail con CDOSYS

    Il codice in sé non era sbagliato, ma mancava l'assegnazione del testo del corpo del messaggio (objMail.TextBody), e il successivo invio del messaggio (objMail.Send).

    Response.Flush/End termina la sessione e quindi la mail non viene mai inviata.

    Inoltre, per motivi di sintassi, c'è da evitare ... vbCrLf& ... e scrivere invece ... vbCrLf & ... (nota lo spazio). vbCrLf& potrebbe essere interpretato come variabile del tipo Long.

    Per alcuni sistemi, potrebbe essere necessario usare l'oggetto di configurazione. Allego l'esempio di aruba, che mostra come usare CDOSYS.

    Codice:
    document.location.replace('grazie.asp');document.location.replace('grazie.asp'); <!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
    <!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
    <%
    '============Linkbruttocane su specifiche MSDN================
    '* il corpo finale del messaggio contiene tutti i campi	*
    '* inseriti nella pagina html, in pratica puoi mettere	 *
    '* tutti i campi che ti servono nel modulo di invio senza *
    '* fare altre configurazioni aggiuntive.				 * 
    '=============================================================
    DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo
    '* voce da modificare con il proprio indirizzo email
     
    invioA = "linkbruttocane@aruba.it"
    '* voce da modificare con un indirizzo email che funga da mittente: 
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica
     
    invioDa = "linkbruttocane@technet.it"
    '------------fine modifiche necessarie------------------
    nomeDominio 	= Request.ServerVariables("HTTP_HOST")
    indirizzoIp	 = Request.ServerVariables("REMOTE_ADDR") 
    modulo	 = Request.ServerVariables("HTTP_REFERER")
    browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")
    '*rilevo i campi del form
     
    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    IF NOT Request.Form(numeroCampi) = "" THEN
    	 corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    END IF
    NEXT
    '* creo gli oggetti cdosys sul server e li gestisco
     
    DIM iMsg, Flds, iConf
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.aruba.it" 
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update
    With iMsg
    Set .Configuration = iConf
    .To = invioA
    .From = Request.Form("email")
    .Sender = invioDa
    .Subject = "Contatto dal dominio " & nomeDominio
    .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
    .Send
    End With
    %> 
    <script>
    document.location.replace('grazie.asp');
    </script>document.location.replace('grazie.asp');
    Chi ha bisogno di allegare file al messaggio, può usare lo script seguente:
    Codice:
     <!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
    <!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
    <%
    '============ Linkbruttocane su specifiche MSDN ================
    '* il corpo finale del messaggio contiene tutti i campi	 *
    '* inseriti nella pagina html, in pratica puoi mettere	 *
    '* tutti i campi che ti servono nel modulo di invio senza	*
    '* fare altre configurazioni aggiuntive.					 * 
    '===============================================================
    DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo, cartella, fileAllegato
    '* voce da modificare con il proprio indirizzo email
     
    invioA 	 = "linkbruttocane@aruba.it"
    '* voce da modificare con un indirizzo email che funga da mittente: 
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica
     
    invioDa 	 = "linkbruttocane@technet.it"
    '* indicare il nome del file da allegare, il file deve
    '* risiedere in questa stessa cartella, come il file allegato a titolo di esempio
    fileAllegato	= "ArubaShortcut.zip"
    '------------fine modifiche necessarie------------------
    nomeDominio 	= Request.ServerVariables("HTTP_HOST")
    indirizzoIp	 = Request.ServerVariables("REMOTE_ADDR") 
    modulo	 = Request.ServerVariables("HTTP_REFERER")
    browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")
    cartella	 = Server.MapPath("./")
    '*rilevo i campi del form
     
    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    IF NOT Request.Form(numeroCampi) = "" THEN
    	 corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    END IF
    NEXT
    '* creo gli oggetti cdosys sul server e li gestisco
     
    DIM iMsg, Flds, iConf
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.aruba.it" 
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update
    With iMsg
    Set .Configuration = iConf
    .To = invioA
    .From = Request.Form("email")
    .Sender = invioDa
    .Subject = "Contatto dal dominio " & nomeDominio
    .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
    .AddAttachment (cartella & "\" & fileAllegato)
    .Send
    End With
    %> 
    <script>
    document.location.replace('grazie.asp');
    </script>

  5. #5
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Predefinito

    Vedo che c'è bisogno dell'oggetto di configurazione. Normalemnet non c'è bisogno, perché l'oggetto viene impostato dal provider. Sembra però che non viene fatto, per cui è necessario predersi cura anche di questo oggetto, similmente al codice che hai incollato, ma cercando di non usare colegamenti esterni, specie microsoft, in quanto può rallentare l'invio di email e sprecare parecchia banda, per non so cosa, esattamente.

    Rimando a stasera perché ora non ho abbastanza tempo. Poi devo vedere se riesco a scaricare da qualche parte CDOSYS, perché ho soltanto il vecchio CDONTS, senza posso soltanto andare a "cieco"

  6. #6
    Prontolone L'avatar di Admin
    Data registrazione
    May 2004
    Età
    50
    Messaggi
    4.170

    Lightbulb

    Ti volevo informare che in server 2003 CDCONTS è stato ufficialmente rimosso, ma è quasi impossibile trovare informazioni al riguardo. Ci sono inciampato per caso, qualche giorno fa.

Discussione chiusa

Discussioni simili

  1. codice per piu' immagini
    di Colin nella sezione PHP
    Risposte: 4
    Ultimo messaggio: 15/02/2010, 06:24

Segnalibri

Regole di scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato