Risultati da 1 a 6 di 6

Discussione: Modifica Codice CDCONTS in CDOSYS

  1. #1
    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

    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

    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

    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:
    <!--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 = "[email protected]"
    '* 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 = "[email protected]"
    '------------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>
    </script>
    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 	 = "[email protected]"
    '* 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 	 = "[email protected]"
    '* 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>
    </script>

  5. #5
    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

    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.

Discussioni Simili

  1. codice per piu' immagini
    Di Colin nel forum PHP
    Risposte: 4
    Ultimo Messaggio: 15-02-2010, 07:24

Segnalibri

Permessi 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
  •