Conosco uno script che permette di mandare un'email dal proprio browser alla casella di posta del creatore del sito. Questo script è quasi perfetto ha un solo errore: nel messaggio che si scrive da inviare non si riescono a creare più righe se uno tenta di mandare un messaggio con più paragrafi gli arriverà una email tutta attaccata. Per fare un esempio:
Se io tento di scrivere:
Riga uno
Riga due
Nell'email ricevuta mi compare:
Riga uno Riga due
Lo script ha 2 file:
Quello in cui bisogna compilare i campi è formmail.php:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Invia e-mail</title>
</head>
<body>
<form method="post" action="sendmail.php">
<table>
<tr>
<td colspan="2">
<?php
if(isset($_GET['e'])) {
switch ($_GET['e']) {
case "1":
echo "Inserisci il nome e il cognome.";
break;
case "2":
echo "Inserisci l'indirizzo e-mail del mittente.";
break;
case "3":
echo "Inserisci un messaggio.";
}
}
?>
</td>
</tr>
<tr>
<td>Nome e Cognome del mittente:</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>E-mail mittente:</td>
<td><input type="text" name="mittente"></td>
</tr>
<tr>
<td>Oggetto: </td>
<td><input type="text" name="oggetto"></td>
</tr>
<tr>
<td>Messaggio:</td>
<td><textarea name="messaggio"></textarea></td>
</tr>
<tr>
<td colspan="2"><button type="submit">Invia!</button></td>
</tr>
</table>
</form>
</body>
</html>
e il file che deve stare nella stessa cartella dell'altro è sendmail.php:
<?php
# Qui sotto va inserito l'indirizzo URL per il redirect
$redirect = "index.htm";
if ($_POST['nome'] != "") { # se il campo nome non è vuoto
if ($_POST['mittente'] !="") { # se il campo mittente non è vuoto
if ($_POST['messaggio'] != "") { # se il campo messaggio non è vuoto
$a = "vostra@email.it";
$da = $_POST['mittente'];
$nome = $_POST['nome'];
$oggetto = $_POST['oggetto'];
$messaggio = "E-mail inviata da: $nome
{$_POST['messaggio']}
";
$headers = "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: $da";
if (mail($a,$oggetto,$messaggio,$headers)) {
header ("location: $redirect");
} else { echo "Invio dell'email non riuscito."; }
} else { header("location: formmail.php?e=3"); } # redirect in caso sia vuoto il campo messaggio
} else { header("location: formmail.php?e=2"); } # redirect in caso sia vuoto il campo mittente
} else { header("location: formmail.php?e=1"); } # redirect in caso sia vuoto il campo nome
?>
Sapete dirmi come aggiustare questo errore?