- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Invio email in ASp..mi date un consiglio
-
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
-
@La Maglia Rosanero said:
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?Si va bene così.
@La Maglia Rosanero said:
p.s che stringa devo usare per collegargli la seconda pagina contattami.asp dove devo tenere il codice di invio???
mi spieghi un po?
Metti nell'action del form "contatti.asp"Ti consiglio però di gestire gli errori con una validazione del form. Ad esempio quando il campo email è vuoto e ti va in errore. Le tue applicazioni non devono MAI andare in errore.
Se ai dubbi su come validare un form in asp ti invito ad aprire un nuovo thread sull'argomento. saremo lieti di aiutarti.
Ciao (per oggi stacco)