ASPMail - Invio di mail html con variabili

hard_maniacs

Nuovo Utente
19 Giu 2006
3
0
0
Ciao ragazzi,
confido in voi..
sto sviluppando un invio di mail tramite il componente ASPMail (non ne posso usare un altro) !!!!

Il corpo della mail è preso da un file html esterno che ho inserito dentro una costante.
In questo file ci sono delle variabili di Sessione che sono i campi del modulo compilato prima dell'invio.

La mail arriva graficamente corretta all'indirizzo...ma perde completamente le variabili...cosa posso fare?
Se volete,tra poco posto il codice?
aituooooo
Grazie
Massimiliano
 
Ecco tutto quello ke serve...aiutamiiiii !!! ;)

Queste 2 variabili le ho create alcune pagine prima di raggiungere questa della creazione mail e sono quelle ke dovrebbero apparire nel corpo:

session("nome") = request.Form("nome")
session("cognome") = request.Form("cognome")

ecco il codice della pagina che crea la mail con aspmail:

const filename = "D:\Home\www.prostampasud.it\ftproot\wwwroot\email.asp" 'percorso da inserire a seconda di dove si trova il file

Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.OpenTextFile(filename, 1, false)
corpo = a.ReadAll

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.ContentType = "text/html"
Mailer.FromName = "Stefano"
Mailer.FromAddress= "stex@ciao.it"
Mailer.RemoteHost = "relay.fasthosting.it"
Mailer.AddRecipient "Max Sgarra", "massimiliano@nuevacom.it"
Mailer.Subject = "Richiesta Preventivo ProstampaSud"
Mailer.BodyText = corpo

if Mailer.SendMail then
Response.Write "Mail sent..."
else
Response.Write "Mail send failure. Error was " & Mailer.Response
end if

e questa è la pagina email.asp che vorrei fosse il corpo della mail:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>"
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.testo {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
-->
</style>
</head>

<body style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px">
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><img src="http://stage.prostam.fasthosting.it/images/header-email.gif" alt="Prostampa Sud - richiesta preventivo" width="600" height="75" /></td>
</tr>
<tr>
<td align="center" bgcolor="#DCDCDC"><table width="570" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="50%">&nbsp;</td>
<td width="50%">&nbsp;</td>
</tr>
<tr>
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">nome: <%=session("nome")%></td>
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">cognome:<%=session("cognome")%></td>
</tr>
</table>
</body>
</html>
 
Credo di aver capito :)

E' normale che la mail arriva corretta graficamente, ma senza mantenere le varibili.
Un volta che tu spedisci il file email.asp, tu spedisci il codice contenuto in esso, e al destinatario non arriverà:
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">nome: Marco</td>
ma arriverà
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">nome: <%=session("nome")%></td>

Ora, non avendo il destinatario le sessioni del nome e del cognome, <%=session("nome")%> sarà senza valore, e quindi non apparirà nessun valore. :)

Affinchè possa arrivare correttamente la mail al destinatario, devi far sì che l'email gli arrivi già con il nome e cognome stampati nel codice.

Potrersti provare a fare una cosa del genere:
nel codice del file email.asp, togli <%=session("nome")%> e <%=session("cognome")%>, lasciando scritto:
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">nome: xxx</td>
e anche
<td width="50%" align="left" bgcolor="#F0F0F0" class="testo">cognome: xxx</td>

dopodichè, subito dopo la riga corpo=a.ReadAll della ASP che invia la mail fai:
<%
....
...
Set a = fs.OpenTextFile(filename, 1, false)
corpo = a.ReadAll
corpo=Replace(corpo,"nome: xxx","nome: " & session("nome"))
corpo=Replace(corpo,"cognome: xxx","cognome: " & session("cognome"))


Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.ContentType = "text/html"
Mailer.FromName = "Stefano"
....
...
%>

Prova e fammi sapere!
SaLuT!
:byebye:
 
PERFETTO!!!! FUNZIONA!!!

sapevo che su di voi potevo contare!!!

Grazie davvero mille!!!

Non è che potresti inviarmi il tuo contatto msn,così magrai resstiamo in contatto?
anke per confrontarci e consigli vari?
Grazie ankora!!!
 
hard_maniacs ha scritto:
Non è che potresti inviarmi il tuo contatto msn,così magrai resstiamo in contatto?
anke per confrontarci e consigli vari?
Grazie ankora!!!
Figurati ;)

Per il contatto mi spiace ma preferisco di no :p

Uso msn solo come indirizzo privato, e siccome non sei il primo a chiedermelo, rischierei a lungo andare di ritrovarmi un centro conferenze nel pc, eh eh! :D

Per qualsiasi cosa tu abbia bisogno, o anche semplicemente su cui tu voglia consigli o pareri, scrivi pure qui nel forum, ti aiuteremo volentieri, anche perchè siamo qui apposta :)

Ciao! :byebye:
 

Discussioni simili