Ho la seguente funzione che invia un e-mail con l'allegato
codice:
function InvioEmail($MailDestinatario, $Oggetto, $Contenuto, $nomeAllegato, $pathAllegato)
{
$Mittente = "info@mittente.net";
$boundary = md5(uniqid(microtime()));
// INTESTAZIONI DELLA MAIL
$mail_headers = "MIME-version: 1.0\n";
$mail_headers .= "Content-type: multipart/mixed;boundary=\"$boundary\"\r\n";
$mail_headers .= "From: $Mittente\r\n";
$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";
if ($nomeAllegato!="")
{
$file_type = filetype ($pathAllegato. $nomeAllegato);
// $file_type="application/pdf";
$file_size = filesize ($pathAllegato. $nomeAllegato);
// APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
$file = @fopen($pathAllegato. $nomeAllegato, "r");
$contents = @fread($file, $file_size);
$encoded_attach = chunk_split(base64_encode($contents));
@fclose($file);
$mail_headers .= "X-attachments: $nomeAllegato\n";
$mail_body .= "Content-type: $file_type; name=\"$nomeAllegato\"\n";
$mail_body .= "Content-Transfer-Encoding: base64\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";
}
if(@mail($MailDestinatario, $Oggetto, $mail_body, $mail_headers))
{$messaggioMail= "Ok";}
else
{$messaggioMail = "Errore";}
return $messaggioMail;
}
Funzionerebbe da paura se non fosse che il file mi arriva danneggiato
Qualcuno mi sa dire dove sbaglio !!!