Io devo solamente creare un form per far inviare agli utenti delle mail dal mio sito. Nulla di più banale, ma con questo script sembra impossibile.
non conosco lo script di cui parli ma la funzione mail è la prima cosa che ho fatto in php...
Quello che ti posto è funzionante ma per essere "decentemente utilizzabile" deve essere integrato:
1) almeno da un check javascript per campi obbligatori;
2) un captcha altrimenti ti ritrovi la cartella di posta stracolma.
Se vuoi cmq utilizzarlo eccolo
Metti questi due file nella stessa cartella:
1)
La pagina in cui c'è il form è questa
nome file: quello_che_ti_pare.php
Codice PHP:
<html>
<head>
<title>Invia una mail</title>
</head>
<?php
if( (isset($_GET['invio'])) && ($_GET['invio']="ok"))
{echo "<h2>Mail inviata con successo</h2>";}
$ritorno=$_SERVER['PHP_SELF'];
?>
<form method=post action="invia.php">
<label>Nome:</label>
<input type=text name="nome">
<label>Testo:</label>
<textarea name="testo" rows=10 cols=50></textarea>
<input type=hidden name="ritorno" value="<?php echo $ritorno ?>">
<input type=submit name="invia" value="invia">
</body>
</html>
2)
lo script vero e proprio è questo.
sostituisci il nome del destinatario con il tuo senza cancellare le virgolette!
nome del file: invia.php
Codice PHP:
<?php
/****IMPOSTA IL TUO INDIRIZZO DI POSTA*****/
$destinatario="tuoindirizzo@email.it";
/**NON MODIFICARE SE NN SAI QUEL CHE FAI***/
if(isset($_POST['ritorno'])){$ritorno=$_POST['ritorno'];}
else{$ritorno="/";}
if(isset($_POST['invia'])){
$nome=trim($_POST['nome']);
$testo=trim($_POST['testo']);
$data = date("d-M-y");
$ora = date("G:i");
$email="L'utente $nome ti ha inviato il seguente messaggio \r\n Messaggio inviato il $data alle ore $ora \n\r Testo: $testo.";
@mail($destinatario, "Un utente ti ha inviato una mail", $email, "From: tuosito.it");
header("location: $ritorno?invio=ok");
}
else{header("location: $ritorno");}
?>