Salve ragazzi questo è il codice php per l'invio email:
Codice PHP:
<?php
// RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
// prendo i campi dal form
$Nome = trim($_POST["name"]);
$Citta = trim(stripslashes($_POST["citta"]));
$Email = trim(stripslashes($_POST["email"]));
$Mobile = trim($_POST["mobile"]);
$Telefono = trim($_POST["telefono"]);
$Servizio = trim($_POST["servizio"]);
$Area = trim($_POST["area"]);
$Note = trim(stripslashes($_POST["note"]));
$to="info@sito.it";
$oggetto="Preventivo";
$messaggio="
Nome: $Nome
Città: $Citta
Email: $Email
Mobile: $Mobile
Telefono: $Telefono
Servizio: $Servizio
Area: $Area
Note: $Note";
// ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
$attach = $_FILES["allegato"]["tmp_name"];
$file_name = $_FILES["allegato"]["name"];
$file_type = $_FILES["allegato"]["type"];
$file_size = $_FILES["allegato"]["size"];
// DELIMITATORE
$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_headers .= "From: $Nome <$Email>\r\n";
// COSTRUIAMO 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 .= "$messaggio\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 =\"$file_name\"\n\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";
// INVIO DELLA MAIL
if(@mail($to, $oggetto, $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.";
}
?>
L'email viene inviata correttamente senza alcun errore. Il problema sta che se la invio su un contatto hotmail o live l'email viene letta come possibile minaccia ma una volta sbloccata riesco a vedere il messaggio e anche l'allegato correttamente, se invece la invio su un contatto webmail aruba la mail arriva ma vuota come se inviassi un email con il titolo.
Dove sbaglio?
Grazie anticipatamente!