Salve,
mi iscrivo e scrivo per la prima volta al vostro forum chiedendovi un consiglio. Da parecchio tempo sto tentando di pubblicare sul mio sito un form-mail che dia all’utente la possibilità di scrivermi e inviare testo e fotografie.
Dopo alcune ricerche in rete, sono riuscito a trovare gli scripts in html e php creando una casella mail che teoricamente, dovrebbe inviare anche allegati, dalla pagina del sito alla mia casella di posta elettronica. Uso il condizionale perché, dopo aver preparato l’interfaccia html e postato il modulo php, trasferendo le pagine su server e provando ad inviare una mail alla mia casella, il messaggio visualizzato è “la vostra mail è stata inviata con successo” ma, anche dopo accurate ricerche, non trovo traccia del materiale spedito da nessuna parte
In sostanza, ho soltanto bisogno di un po’ di chiarezza ed allegandoveli perché possiate controllare la sintassi cortesemente vi chiedo:
-Devo forse attivare un detabase mysql per conservare la corrispondenza? -
Se non è necessario, cosa manca a questi scripts per funzionare a dovere?
Grazie in anticipo per l’attenzione che vorrete dedicarmi.
Sgagnone1
PS Chi vorrà, oltre ad usare il forum potrà rispondermi inviando una mail all’indirizzo sgagnone1@alice.it
CODICE HTML:
Codice HTML:
<form action="sendmail.php" enctype="multipart/form-data" method="POST">
<table cellpadding="0" cellspacing="0">
<tr>
<td>Destinatario: </td>
<td><input type="text" name="Destinatario" size="40"></td>
</tr>
<tr>
<td>Soggetto:</td>
<td><input type="text" name="Soggetto" size="40"></td>
</tr>
<tr>
<td>Allegato:</td><td><input type="file" name="allegato" size="40"></td>
</tr>
<tr>
<td valign="top">Contenuto:</td>
<td><textarea name="Contenuto" rows="15" cols="50"></textarea></td>
</tr>
<tr>
<td height="30" valign="bottom" colspan="2" align="center"><input type="submit" value="Invia la mail">
</tr>
</table>
</form>
CODICE PHP
Codice PHP:
<?php
if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
$Destinatario = trim($_POST["sgagnone1@alice.it"]);
$Soggetto = trim(stripslashes($_POST["Richiedi info o invia foto"]));
$Contenuto = trim(stripslashes($_POST["Contenuto"]));
$attach = $_FILES["allegato"]["tmp_immagini"];
$file_name = $_FILES["allegato"]["immagini"];
$file_type = $_FILES["allegato"]["jpg"];
$file_size = $_FILES["allegato"]["20"];
$boundary = md5(uniqid(microtime()));
// APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
$file = @fopen($attach, "r");
$contents = @fread($file, $file_size);
$encoded_attach = chunk_split(base64_encode($contents));
@fclose($file);
// INTESTAZIONI DELLA MAIL
$mail_headers .= "MIME-version: 1.0\n";
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
$mail_headers .= "X-attachments: $file_name\n";
$mail_body = "--$boundary\n";
$mail_body .= "Content-Type: multipart/mixed; charset=us-ascii\n";
$mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
$mail_body .= "$Contenuto\n\n";
$mail_body .= "--$boundary\n";
$mail_body .= "Content-type: $file_text; name=\"$file_name\"\n";
$mail_body .= "Content-Transfer-Encoding: base64\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";
// INVIO DELLA MAIL
if(@mail($Destinatario, $Soggetto, $mail_body, $mail_headers)) { // SE L'INVIO È ANDATO A BUON FINE...
echo "La mail è stata inoltrata con successo.";
} else {// ALTRIMENTI...
echo "Si sono verificati dei problemi nell'invio della mail.";
}
?>