Qual è il modo più semplice per allegare una documento (ad esempio Excel) ad un messaggio di e-mail?
Eseguire la pagina e catturarne l'output attraverso un component come XMLHTTP, per procedere infine al salvataggio via FileSystemObject sul disco del server. Insomma, emulando la richiesta che si farebbe con un normale browser.
Dunque, procediamo per passi. Per prima cosa, la nostra pagina col il preventivo sarà generata da uno script come il #197.
E' l'unico pezzo che si trova fuori dallo script vero e proprio, che segue, e che crea il report, lo allega, invia l'e-mail e poi provvede a cancellare il file temporaneo:
<%
' file di appoggio
Dim strFileTemp
strFileTemp = Server.MapPath("report" & Session.SessionID & ".xls")
Sub CreaReport(ID)
' URL da richiamare
url = "http://localhost/report.asp?ID=" & ID
' creiamo l'oggetto WinHTTP
Set objHTTP = Server.CreateObject("WinHTTP.WinHTTPRequest.5")
objHTTP.Open "GET", url
' inviamo la richiesta
objHTTP.Send
' salvo il file
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set FW = FSO.OpenTextFile(strFileTemp, 2, True)
FW.Write(objHTTP.ResponseText)
FW.Close
Set FSO = Nothing
' un po' di pulizia
Set objHTTP = Nothing
End Sub
' creo il report
CreaReport(IDOrdine)
' allego il report e lo invio via e-mail
Set objMail = Server.CreateObject("CDONTS.NewMail")
' allego il file
objMail.AttachFile strFileTemp , "preventivo.xls"
objMail.From = "vendite@sito.ext"
objMail.To = "utente@sito.ext"
objMail.Subject = "Preventivo"
objMail.Body = "In allegato il preventivo richiesto"
objMail.Send
Set objMail = nothing
' per finire, cancello il report appena creato
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile(strFileTemp)
Set FSO = Nothing
%>
Ovviamente l'esempio può essere modificato per funzionare con altri tipi di report, come immagini, file ASCII, DOC o PDF.
Per lo script #197 si veda:
http://www.aspitalia.com/liste/usag/script.aspx?ID=197
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!