Ciao a tutti ..
Ho modificato un form di invio mail in modo da poter inviare un allegato senza il form iniziale.. in pratica definisco il percorso del file da inviare nella pagina di invio.
Lo script sottostante richiede la dimensione del file e il tipo MIME del file che sto inviando...
Riguardo le dimensioni sono riuscito a risolvere.. Per lo tipo MIME invece non so, esiste un comando in php che riesce a ricavarmelo tipo come ho fatto per la dimensione??
Spero che qualcuno sappia come risolvere...
Ho impostato come $file_type = "text/html" e mi funziona bene ma mi chiedo.. per le immagini, non dovrebbe esere image/pjpeg ? :master:
Illuminatemi Grazie!!!
<?php
$Destinatario = "miamail@mail.it";
$Soggetto = "Test email con allegato";
$Contenuto = "Test email con allegato";
$attach = "Immagine.jpg";
$file_name = "Immagine.jpg";
$file_type = "text/html";
$file_size = filesize($file_name);
// 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\"\n";
$mail_headers .= "Content-transfer-encoding: 7BIT\n";
$mail_headers .= "X-attachments: $file_name\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 .= "$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";
// INVIO DELLA MAIL
if(@mail($Destinatario, $Soggetto, $mail_body, $mail_headers))
{
echo "La mail è stata inoltrata con successo.";
}else{
echo "Si sono verificati dei problemi nell'invio della mail.";
}
?>