Dimenticavo un paio di cose. Oltre al fatto che il messaggio arriva nel campo oggetto della mia casella e-mail, il mittente appare sempre lo stesso, ovvero: [email protected] , mentre il reale indirizzo del mittente appare nel campo testo della mia casella e-mail. Cosa devo modificare nei form da voi inseriti? Grazie
d3vil
@d3vil
Post creati da d3vil
-
RE: [Dreamweaver] Pulsante Invio da collegare ad email
-
RE: [Dreamweaver] Pulsante Invio da collegare ad email
Salve,
Ho utilizzato questi codici, e funzionano benissimo. Ho solo un problema: Quando ricevo le e-mail, il messaggio degli utenti mi appare nel campo "oggetto" della mia casella di posta. Come devo fare per risolvere il problema?
Grazie per la disponibilità@Legolas said:
ciao,
pikadilly, gentilissima, ti ha dato una risposta molto esauriente.Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.
Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.netNel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)
Perchè ti dico questo?
Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.
Passiamo al codice.
Come ti è stato suggerito te necessariamente avere 2 pagine- la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
- la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.
La prima pagina
ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:MAIL.HTM:
> <html> <body> <form id="form1" method="post" name="form1" action="pag2.php"> Email <input type="text" name="mail" id="mail"/> <br/> Messaggio <textarea id="body" name="body"></textarea> <br/> <input type="submit" value="Invia"/> </form> </body> </html> >```PAG2.PHP
<html>
<body>
<?
//Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.//adesso viene fatto un controllo sul campo body //il campo body ovviamente si trova nella pag mail.htm //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body if ((trim($_POST['body']) != "")){ //la variabile $to conterrà il tuo indirizzo email
$to = "[email protected]";
//la variabile body conterrà il valore del campo body
$body = $_POST['body'];
//la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail
$headers = "From: " . $_POST['mail'] . "\n";//viene inviata la mail
mail($to,$body,$headers);
echo"Il commento è stato inviato correttamente.";
}else{
//il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore
echo "Errore, deve compilare il modulo per inviare un commento.";
}
?>
</body>
</html>Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui