ciao,
avevo tralasciato il fatto che volessi mandarlo come allegato. Infatti avevo risposto:
per inviarlo al client: non occorre risalvare il file con un altro nome,
invece hai bisogno di risalvare il modello modificato e poi specificarne il nuovo percorso quando fai:
objCDOMail.AttachFile "doc.rtf"
hai fatto tutto giusto fin qui:
Documento = Replace(Documento, "[Nome]", strnome)
Documento = Replace(Documento, "[Cognome]", strcognome)
ora non devi fare altro che salvare la variabile Documento su un altro file di testo:
Set f = fso.OpenTextFile(Server.MapPath("doc" & Session.SessionID & ".rtf"), 2)
f.Write(Documento)
f.Close
set f = nothing
adesso hai salvato il modello modificato su un documento temporaneo. Puoi vedere che nel definire il nome di questo file ho usato la sessionID che è una stringa alfanumerica univoca. Questo serve solamente per evitare "guai" nel caso di più esecuzioni temporanee della stessa pagina.
Ora che hai questo nuovo file, cambia il percorso dell'attachment:
objCDOMail.AttachFile "doc" & session.sessionID & ".rtf"
ah, non ho detto questo: se trovi intoppi nello scrivere il file temporaneo è perchè non hai i diritti di scrittura sulla cartella. Impostali da IIS.
Per ultimo, cancella il file temporaneo. Questa operazione di seguito la puoi omettere in un primo tempo, infatti dovresti controllare che il file sia stato creato correttamente, aprirlo e vedere che i contenuti al suo interno siano giusti.
Quando ti sei assicurato di questo, aggiungi queste linee in fondo, subito dopo Set objCDOMail = Nothing
fso.deleteFile Server.MapPath("doc" & Session.SessionID & ".rtf")
prova così, vedi se ricevi errori, ciao