28 messaggi dal 28 gennaio 2004
Sono riuscito (in qualche modo!!) ad assemblare una serie di script che mi effettuano l'upload di un file e l'invio tramite email.

E' già da qualche tempo che li sto provando mi sembra che funzionino benino.
In effetti il file allegato viene quasi sempre inviato ed eliminato correttamente, però a volte mi appare questo errore (e non la pagina grazie.asp):

CDO.Message.1 error '80070002'

The system cannot find the file specified.

/invio/form.asp, line 65

Come se non trova il file da allegare e quando compare questo messaggio mi sa che non lo elimina neanche dal server.

Mi aiutate??
 paghero da bere! Promesso.

Questo il codice per l'invio ed alla fine in grassetto la porzione per eliminare il file.

<%
filename = Request.Form("filename")
%>
<!--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" -->
<%

DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo, cartella, fileAllegato

'* voce da modificare con il proprio indirizzo email

invioA = "tuaemail@email.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 = "tuaemail@email.it"

'* indicare il nome del file da allegare, il file deve
'* risiedere in questa stessa cartella, come il file allegato a titolo di esempio

filename= filename

'------------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("/public")

'*rilevo i campi del form

FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
IF NOT Request.Form(numeroCampi) = "" AND NOT Request.Form.Key(numeroCampi) = "privacy" THEN
corpoMessaggio = corpoMessaggio & "<table width=100% border=1 cellpadding=4 cellspacing=0>" & "<tr>" &_
"<td width=150 bgcolor=#E3E9F2><font size=2><b>" & Request.Form.Key(numeroCampi) & "</b></font></td>" &_
"<td bgcolor=#F8F8F8><font size=2>"& Trim(Request.Form(numeroCampi)) & "</font></td>" & "</tr>" & "</table>"

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 = "Invio allegato | " & nomeDominio
.HTMLBody = "<font face=verdana size=2>Questi i dati inseriti nel modulo presente alla pagina <b> " & modulo & " </b>da utente con indirizzo IP <b>" & indirizzoIp & " </b> browser e sistema operativo <b>" & browserSistemaOperativo & "</b><br><br>" & corpoMessaggio
.AddAttachment (cartella & "\" & filename)
.Send
End With


Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile(cartella & "\" & filename)
Set objFSO = Nothing
%>


<script>
document.location.replace('grazie.asp');
</script>
28 messaggi dal 28 gennaio 2004
Forse ho pasticciato un po col titolo e la descrizione del problema. L'errore indicato mi compare da quando ho aggiunto le porzioni di codice (in grassetto) per eliminare il file dal server (di cui è stato effettuato l'upload). In quel caso l'email non viene inviata.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.