-
Form mail
Devo creare un form per l'invio di mail formato dai campi: mittente e oggetto (circa una ventina di caratteri ciascuno), testo (circa 300 caratteri) e una checkbox che consenta di inviare una copia della mail al mittente.
Mi suggerireste come costruire il codice del form?
-
Per inviare un'email, devi usare PHP (anche se il form è in html).
Vedi qui per fare il form.
Per PHP, per leggere i dati dal form devi usare $_POST o $_GET. Per inviare l'email, mail().
Comunque, se fai una ricerca sul forum, dovresti trovare lo script (quasi) pronto.
Ciao!
-
Ho provato a creare il form ma su questa pagina, quando premo il bottone Invia non succede niente :(
-
Ti manca la parte PHP. L'HTML da solo non invia email.
Segui le istruzioni di Alemoppo.
-
Quale è il contenuto del file "mail.php"?
Ciao!
-
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>IL BLU DEL MELOGRANO</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="contenitore">
<div id="sinistra">
<div id="headersinistra">
<img src="headerlogo.jpg" alt="Logo" />
</div>
<ul class="navbar">
<li><a href="http://forum.it.altervista.org/index.php">Home</a></li>
<li><a href="http://forum.it.altervista.org/io_marina/io_marina.php">Io, Marina</a></li>
<li><a href="http://forum.it.altervista.org/laboratori_di_scrittura/laboratori_di_scrittura.php">Laboratori di scrittura</a></li>
<li><a href="http://forum.it.altervista.org/poesia/poesia.php">Poesia</a></li>
<li><a href="http://forum.it.altervista.org/esperienze_creative/esperienze_creative.php">Esperienze creative</a></li>
<li><a href="http://forum.it.altervista.org/dicono_di_me/dicono_di_me.php">Dicono di me</a></li>
</ul>
</div>
<div id="centro">
<div id="headercentro">
<h1>IL BLU DEL MELOGRANO</h1>
</div>
<div class="margine">
<h1 align="center"> Contatti</h1>
<strong>
<div id="contatti"><br />
<h3>Marina Agostinacchio</h3>
<h4>*Poetessa*</h4>
<a style="text-decoration: underline" href="mailto:marinagos@tin.it">E-mail: marinagos@tin.it</a></br></br>
</strong></p>
<?php
$to='me';
$subject=$_POST['oggetto'];
$message=$_POST['testo'];
$headers='From:'.$_POST['mittente'];
if(mail($to, $subject, $message, $headers)) {
?>
<p>Mail inviata!</p>
<?php
}
else {
?>
<p>Mail non inviata!</p>
<?php
}
?>
<a href="contatti.php">Indietro</a>
</div>
</div>
</div>
<div id="destra">
<div id="headerdestra">
<img src="headerlogo.jpg" alt="Logo" />
</div>
<div class="margine">
<p>Altro</p>
</div>
</div>
</div>
</body>
</html>
-
"me" non è un indirizzo valido di destinazione :mrgreen:
Ciao!
-
Chiaramente lì ho scritto l'indirizzo email al posto di me, ma quando clicco sul bottone invia non succede proprio niente, nemmeno qualche errore...
-
Cambia
Codice HTML:
<input type="button" value="Invia">
in
Codice HTML:
<input type="submit" value="Invia" />
-
Funziona! Grazie mille! :)
L'unico problema è che la mia mail la classifica come spam (ho provato a riceverla da caselle di diversi provider ma in tutti finisce nello spam), perchè?
-
Salve a tutti
Leggevo la discussione che interessa il sottoscritto in prima persona :) mi domandavo se possa mandare una mail nella quale possa specificare il contenuto della mail tramite variabili ottenute tramite form.
-
Certo:
Codice PHP:
$message=$_POST['testo'];
Qui prende il contenuto dell'input di name "testo". Puoi anche fare una cosa del tipo:
Codice PHP:
$message='L\'utente è: '.$_POST['sesso'].'. Ha '.$_POST['anni'].' anni e vive a '.$_POST['luogo'];
...Puoi utilizzare tutte le funzioni delle stringhe, e tutto quel che vuoi...
Puoi anche farle in formato HTML, aggiungendo 2 righe nell'header dell'email (basta cercare un attimo su internet e si trova subito). Occhio che non tutti i gestori supportano le email in formato HTML (anche se i principali lo supportano).
Ciao!
-
ok capito anche se forse mi sono espresso male....la domanda era un po' retorica dato che sapevo che si potesse fare
il problema e che non ho idea di come possano impostare l'oggetto e messaggio (in html.it si parlava di funzione mail e standard MIME(???) )
per farti un idea di cio che voglio fare potresti guardare la pag contatti del sito a cui lavoro(nella firma)
-
mail() è la funzione principale di questa discussione. MIME rientra nelle "2 righe da aggiungere" per far tornare l'email in html.
Per la prima è molto semplice: ha sostanzialmente 4 parametri: il primo è l'email del destinatario; il secondo è l'oggetto della mail, il terzo è il contenuto dell'email ed il quarto è l'header della email, in cui è possibile specificare il mittente, ed aggiungere le due famose righe per far tornare l'email in html.
Nella documentazione ci sono molti esempi su tutto. In particolare, le due righe sono:
Codice PHP:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
Ovviamente puoi modificare il charset...
Ciao!
-
vabbè ti ringrazio sei stato abbastanza chiaro.
per quanto riguarda il "MIME" posso anche limitarmi a copiare cosi com'è per l'editing poi se ne parla -_-' .
invece il formato per il corpo del messaggio mi piace quello del 1°post(il 2°)
alla prossima!!!