Grazie atrebor12
Ho fatto un form di prova invia l email ma non mi fa visualizzare ne l allegato ne il contenuto tel testo
dove sbaglio il codice??
___________FORM
<form action="invia.php" enctype="multipart/form-data" method="post">
Destinatario: <input type="text" name="destinatario">
Soggetto: <input type="text" name="soggetto">
Allegato: <input type="file" name="allegato">
Testo:<textarea name="contenuto" rows="15" cols="40"></textarea>
<input type="submit" value="Invia la mail">
</form>
_____________FILE Invia .php_______________________
<?php
//leggiamo i dati dal modulo
$destinatario = $_POST["destinatario"];
$soggetto = $_POST["soggetto"];
$contenuto = $_POST["contenuto"];
// settiamo qualche variabile per comodita
$attach = $_FILES["allegato"]["tmp_name"];
$file_name = $_FILES["allegato"]["name"];
$file_type = $_FILES["allegato"]["type"];
$file_size = $_FILES["allegato"]["size"];
$boundary = md5(uniqid(microtime()));
//apriamo l’allegato
$file = @fopen($attach, "r");
$contents = @fread($file, $file_size);
$encoded_attach = chunk_split(base64_encode($contents));
@fclose($file);
//settiamo le intestazioni della mail
$mail_headers .= "MIME-version: 1.0\n";
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\n";
$mail_headers .= "Content-transfer-encoding: 7BIT\n";
$mail_headers .= "X-attachments: $file_name\n";
//settiamo il corpo della mail
$mail_body = "–$boundary\n";
$mail_body .= "Content-Type: text/plain; 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_type; name=\"$file_name\"\n";
$mail_body .= "Content-Transfer-Encoding: BASE64\n";
$mail_body .= "Content-disposition: attachment; filename=\"$attach_name\"\n\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "–$boundary–\n";
// infine inviamo la mail
if(@mail($destinatario, $soggetto, $mail_body, $mail_headers)) {
echo "Mail inviata.";
} else {
echo "Mail non inviata.";
}
?>
MI PUOI AIUTARE????????![]()