Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    CDO.Message.1 error '80040213' The transport failed to connect to the server.

    Salve a tutti!
    Premetto che non so praticamente nulla di ASP in quanto ho sempre usato PHP.
    Un mio amico ha fatto un sito che necessita di una form che gli invii via email il contenuto dei campi. Cercando su HTML.it ho trovato quanto mi serve, e riadattandolo (ho scoperto che le istruzioni per IIS 4.0 non vanno bene per i nuovi a causa dell'aggiornamento della libreria CDO) sono arrivato a questo codice. I campi e i dati sono di esempio, ma il codice è questo.

    Dim strMessage
    Dim strNome
    Dim strCognome
    Dim strCommento

    Dim strFile, strFilePath
    Dim objFso
    Dim objFile

    Dim objMail

    ' Dettagli per l'invio dell'email
    Const strDestinatario = "email.dominio1.it"
    Const strMittente = "form@dominio.com"
    Const strOggetto = "Email inviata tramite form"

    ' Imposta a true per rimuovere il file dopo l'invio
    Const blnDelete = false

    ' Controlla l'invio della form
    if Request.Querystring("send") = 1 AND Len(Request.Form("submit")) > 0 then

    ' Richiama i dati dalla form
    strNome = Request.Form("nome")
    strCognome = Request.Form("cognome")
    strCommento = Request.Form("commento")

    ' Crea il nome
    strFile = "emailatt-" &_
    Year(Now()) & Month(Now()) & Day(Now()) & "-" & Clng(Timer()) & ".txt"
    ' Ricava il percorso del file sul server
    strFilePath = Server.MapPath(strFile)

    ' Crea il file sul server
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    Set objFile = objFso.CreateTextFile(strFilePath, true)

    objFile.WriteLine("Email inviata il " & Date() & " alle " & Time())
    objFile.WriteLine("IP: " & Request.ServerVariables("REMOTE_ADDR"))
    objFile.WriteLine("Client: " & Request.ServerVariables("HTTP_USER_AGENT"))
    objFile.WriteLine("Nominativo: " & strNome & " " & strCognome)
    objFile.WriteBlankLines(1)
    objFile.Writeline(strCommento)
    objFile.Close

    Set objFile = Nothing
    Set objFso = Nothing


    Set Config = Server.CreateObject("CDO.Configuration")
    Set Fields = Config.Fields
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email.dominio@dominio.com"
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.dominio.com"

    Fields.Update
    Set myMail = CreateObject("CDO.Message")
    Set myMail.Configuration = Config

    myMail.Subject="Sending email with CDO"
    myMail.From= strMittente
    myMail.To= strDestinatario
    myMail.TextBody= strOggetto
    myMail.AddAttachment strFilePath
    myMail.Send
    set myMail=nothing


    ' Elimina il file dal server se richiesto
    if blnDelete then

    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    ' Controlla la presenza del file ed elimina
    if objFso.fileExists(strFilePath) then
    objFso.deleteFile(strFilePath)
    end if
    Set objFso = Nothing

    end if

    strMessage = "

    L'email è stata inviata correttamente.
    "
    strMessage = strMessage & "Il contenuto della form è stato allegato all'email.</p>"

    end if
    Il problema è che eseguendolo mi da questo errore
    CDO.Message.1 error '80040213'

    The transport failed to connect to the server.

    /FormMail/formemail.asp, line 70
    La riga 70 è "myMail.Send"

    Non so più dove sbattere la testa... Ho cercato nei post precedenti, ma le risposte date presupponevano una certa conoscenza di ASP (che non ho) e comunque non spiegavano questo problema.

    Sapete al limite, se il codice è giusto, cosa devo chiedere a quelli che forniscono l'hosting al mio amico? (che per inciso sono hosting3000.it)

    Grazie infinite.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Trasforma questo:
    codice:
    Set Config = Server.CreateObject("CDO.Configuration") 
    Set Fields = Config.Fields 
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email.dominio@dominio.com" 
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
    Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.dominio.com" 
    
    Fields.Update 
    Set myMail = CreateObject("CDO.Message")
    Set myMail.Configuration = Config
    in questo
    codice:
    Set myMail = CreateObject("CDO.Message")
    e guarda se funziona.
    Roby

  3. #3
    Se faccio così mi dice
    CDO.Message.1 error '80040220'

    The "SendUsing" configuration value is invalid.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sul hosting c'è scritto che i piani window sono su S.O. win 2008 e che molta per la posta AspEmail 5.0
    Ora la domanda è anche lo spazio/dominio del tuo amico e su quelle macchine?
    Se la risposta è si dovrai usare come oggetto AspEmail 5.0 al posto di CDO
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Grazie mille, mi informo e provo!

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.