- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Invio email in ASp..mi date un consiglio
-
@La Maglia Rosanero said:
ok allora ho uno script cdosys.... ma non capisco una cosa
' Assegna all'oggetto le proprietà necessarie
objMail.From = "[email protected]" ' Mittente
objMail.To = Request.Form("email") ' Destinatario
objMail.Subject = Request.Form("oggetto") ' Oggetto
objMail.HTMLBody = Request.Form("messaggio") ' Messaggiobene...dove dice mittente ok....il campo del form lo riempirà il mittente.....
ma in destinatario dovrei inserirci la mia mail fissa.....nella riga
objMail.To = Request.Form("email") ' Destinatario
dove dovrei mettere la mia mail???Certo:
objMail.To = "[email protected]"@La Maglia Rosanero said:
p.s è possibile che form e script siano in una stessa pagina o devono risiedere in una pagina diversa?
Certo che è possibile.Potresti inserire nel form un campo hidden di nome "invia" ed assegnarli value=1. Poi fai così:
<% If Request("invia") = "1" then 'codice per invio email Else %> <form> ... </form> <% End if %>
-
Quindi al posto di:
objMail.To = Request.Form("email") ' Destinatariodevo mettere:
objMail.To = "[email protected]" ' Destinatario????
-
Si
-
Nulla non va.....mi dovrebbe dare "Email inviata con Successo" ma non me lo da...clicco su invia e mi cancella i campi......ecco il codice intero:
<%' Controlla invio
if Request.QueryString("invia") = "true" AND Request.Form("submit") = "invia" thenDim objMail, objConfig
' Crea l'oggetto email
Set objMail = Server.createObject("CDO.Message")' Dimensiona l'oggetto configurazione
Set objConfig = Server.createObject ("CDO.Configuration")' Imposta le configurazioni
With objConfig' Server SMTP di uscita
' ATTENZIONE! Usare il proprio indirizzo di server email!
' E' FONDAMENTALE per l'invio della email
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it"' Porta SMTP
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25' Porta CDO
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.updateEnd With
' Assegna le configurazioni
Set objMail.Configuration = objConfig' Assegna all'oggetto le proprietà necessarie
objMail.From = "[email protected]" ' Mittente
objMail.To = "[email protected]" ' Destinatario
objMail.Subject = Request.Form("oggetto") ' Oggetto
objMail.HTMLBody = Request.Form("messaggio") ' Messaggio' Invia l'email
objMail.Send()Set objMail = Nothing
Response.Write("Email inviata correttamente " &_
"all'indirizzo " &_
Request.Form("email"))else %>
<form name="formail" method="post" action="?invia=true">
<table align="center" cellpadding="3" cellspacing="1">
<tr>
<td>Email</td>
<td>
<p align="center"><input name="email" style="float: left" /></td>
</tr>
<tr>
<td>Oggetto</td>
<td>
<p align="center"><input name="oggetto" style="float: left" /></td>
</tr>
<tr>
<td height="103">Messaggio</td>
<td height="103">
<p align="center"><textarea name="messaggio" rows="11" cols="54"></textarea></td>
</tr>
<tr>
<td colspan="2">
<p align="center"> <input type="submit" value="Invia" name="submit" /> </td>
</tr>
</table>
</form>
<% end if %>
-
non hai messo il campo hidden ma lascia perdere, vedo che cmq controlli l'invio col valore passato dal pulsante, basta quello. Quindi elimina *Request.QueryString("invia") = "true" AND *:
if Request.Form("submit") = "invia" then
-
ma in locale dovrebbe funzionare vero???
oppure devo upparlo per forza???
ho salvato questa pagina in asp e non in htm.....
ora elimino e provoallora mi da errore linea 47 io ho messo questo :
<%' Crea l'oggetto email
Set objMail = Server.createObject("CDO.Message")' Dimensiona l'oggetto configurazione
Set objConfig = Server.createObject ("CDO.Configuration")ho cancellato quella che dici tu.....e mi da errore nella linea 47 dicendomi come errore la parola ELSE!
-
Posta tutto il codice + la descrizione copleta dell'errore
-
io te lo posto tutto con la stringa che mi hai detto di eliminare.... :
<%
' Controlla invio
if Request.QueryString("invia") = "true" AND Request.Form("submit") = "invia" thenDim objMail, objConfig
' Crea l'oggetto email
Set objMail = Server.createObject("CDO.Message")' Dimensiona l'oggetto configurazione
Set objConfig = Server.createObject ("CDO.Configuration")' Imposta le configurazioni
With objConfig' Server SMTP di uscita
' ATTENZIONE! Usare il proprio indirizzo di server email!
' E' FONDAMENTALE per l'invio della email
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it"' Porta SMTP
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25' Porta CDO
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.updateEnd With
' Assegna le configurazioni
Set objMail.Configuration = objConfig' Assegna all'oggetto le proprietà necessarie
objMail.From = "[email protected]" ' Mittente
objMail.To = "[email protected]" ' Destinatario
objMail.Subject = Request.Form("oggetto") ' Oggetto
objMail.HTMLBody = Request.Form("messaggio") ' Messaggio' Invia l'email
objMail.Send()Set objMail = Nothing
Response.Write("Email inviata correttamente " &_
"all'indirizzo " &_
Request.Form("email"))else %>
<form name="formail" method="post" action="?invia=true">
<table align="center" cellpadding="3" cellspacing="1">
<tr>
<td>Email</td>
<td>
<p align="center"><input name="email" style="float: left" /></td>
</tr>
<tr>
<td>Oggetto</td>
<td>
<p align="center"><input name="oggetto" style="float: left" /></td>
</tr>
<tr>
<td height="103">Messaggio</td>
<td height="103">
<p align="center"><textarea name="messaggio" rows="11" cols="54"></textarea></td>
</tr>
<tr>
<td colspan="2">
<p align="center"> <input type="submit" value="Invia" name="submit" /> </td>
</tr>
</table>
</form>
<% end if %>
Errore :
Tipo di errore:
Errore di compilazione di Microsoft VBScript (0x800A03EA)
Errore di sintassi
/gestionerecord/contattami.asp, line 47
else
-
Ho provato questo tuo stesso codice e funziona
Non c'è altro codice prima o dopo di questo?
-
eh no......ti ho fatto il copia e incolla di tutta la pagina!
l'hai salvata in asp o in htm??
-
ovviamente .asp
Forse la causa dell'errore è da cercare ne testo che immetti.
Quale testo immetti nel form?
-
immetto in email una email valida in oggetto un testo a caso ma non credo sia importante e nel messaggio un pugno nella tastiera ( così per dire)
alla fine se c'è controllo dei campi l'unicopossibile è in email non negli altri no?
-
Guarda.. ho solo ripulito un po' il tuo codice e funziona, eccolo:
<% If Request.Form("submit") = "invia" then Dim objMail, objConfig Set objMail = Server.createObject("CDO.Message") Set objConfig = Server.createObject ("CDO.Configuration") With objConfig .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.aruba.it" .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 .Fields.update End With Set objMail.Configuration = objConfig objMail.From = "[email protected]" ' Mittente objMail.To = "[email protected]" ' Destinatario objMail.Subject = Request.Form("oggetto") ' Oggetto objMail.HTMLBody = Request.Form("messaggio") ' Messaggio objMail.Send() Set objMail = Nothing Response.Write("Email inviata correttamente all'indirizzo " & Request.Form("email")) Else %> <form name="formail" method="post" action=""> <table align="center" cellpadding="3" cellspacing="1"> <tr> <td>Email</td> <td> <p align="center"><input name="email" style="float: left" /></td> </tr> <tr> <td>Oggetto</td> <td> <p align="center"><input name="oggetto" style="float: left" /></td> </tr> <tr> <td height="103">Messaggio</td> <td height="103"> <p align="center"><textarea name="messaggio" rows="11" cols="54"></textarea></td> </tr> <tr> <td colspan="2"> <p align="center"> <input type="submit" value="invia" name="submit" /> </td> </tr> </table> </form> <% End if %>
-
allora a me funziona se l'uppo..però c'è un piccolo problema...la mail mi arriva correttamente all'indirizzo palermo.maglie però il mittente è sempre questo : [email][email protected][/email] invece dovrebbe essere quello scritto nel campo email del form!
Set objMail.Configuration = objConfig
objMail.From = "[email protected]" ' Mittente
objMail.To = "[email protected]" ' Destinatario
objMail.Subject = Request.Form("oggetto") ' Oggetto
objMail.HTMLBody = Request.Form("messaggio") ' Messaggio
objMail.Send()
Set objMail = Nothingecco l'indirizzo dove l'ho uppata http://www.la-maglia-rosanero.com/contattami.asp
-
Sicuro di non aver modificato nemmeno l'smtp? Magari hai messo smtp.la-maglia-rosanero.com.
Io ho provato anche in locale e funziona.
-
@La Maglia Rosanero said:
allora a me funziona se l'uppo..però c'è un piccolo problema...la mail mi arriva correttamente all'indirizzo palermo.maglie però il mittente è sempre questo : [EMAIL="[email protected]"][email protected][/EMAIL] invece dovrebbe essere quello scritto nel campo email del form!
Set objMail.Configuration = objConfig
objMail.From = "[email protected]" ' Mittente
objMail.To = "[email protected]" ' Destinatario
objMail.Subject = Request.Form("oggetto") ' Oggetto
objMail.HTMLBody = Request.Form("messaggio") ' Messaggio
objMail.Send()
Set objMail = Nothingecco l'indirizzo dove l'ho uppata http://www.la-maglia-rosanero.com/contattami.asp
Set objMail.Configuration = objConfig ** objMail.From = Request.Form("email") ' Mittente** objMail.To = "[email protected]" ' Destinatario objMail.Subject = Request.Form("oggetto") ' Oggetto objMail.HTMLBody = Request.Form("messaggio") ' Messaggio objMail.Send() Set objMail = Nothing
-
benissimo....
era sbagliato alloralo script iniziale :=altra cosa e poi ti lascio in pace.....
...siccome nell'attuale pagine contattami.htm che ho nel sito ho pr 2 e questa pagina è invece in asp come faccio per non perdere il pr?
-
@La Maglia Rosanero said:
benissimo....
era sbagliato alloralo script iniziale :=altra cosa e poi ti lascio in pace.....
...siccome nell'attuale pagine contattami.htm che ho nel sito ho pr 2 e questa pagina è invece in asp come faccio per non perdere il pr?Il problema è delicato. Ti consiglio di scomporre l'applicazione in due pagine utilizzando la vecchia contatti.htm per il form e la nuova per il codice di invio.
Ad ogni modo potrai trovare qualche informazione in merito nel forum dedicato al posizionamento che ti invito a consultare.
Ciao
-
grazie mille....come avrai notato ho sostituito la risposta email inviata correttaente.... con una pagina web dedicata....che a sua volta ha dopo 5 sec un redirect alla homepage che ne dici???
non ha rilevanza per google giusto?p.s che stringa devo usare per collegargli la seconda pagina contattami.asp dove devo tenere il codice di invio???
mi spieghi un po?
-
tutto risolto....sta volta ho fatto da solo la divisione delle pagine ....grazie tante...ho imparato molto
ciao