viernes, 9 de noviembre de 2007

Mandar un email con ficheros adjuntos

<?php

function mandarmail($de,$para,$asunto,$texto,$ficheros)
{

$email_from = $de; // Who the email is from
$email_subject = $asunto; // The Subject of the email
$email_message = $texto; // Message that the email has in it

$email_to = $para; // Who the email is too

$headers = "From: ".$email_from;



$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";



/*
Aqui va adjuntando por ficheros que se le pasan
*/

for ($i=0;$i<sizeof($ficheros);$i++)
{


// aqui hay q cambiar la direccion donde se encuentran los ficheros en el servidor
$fileatt = "../presupuestos/condiciones/".$ficheros[$i]; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name =$ficheros[$i]; // Filename that will be used for the file as the attachment


$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);


$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}\n";
unset($data);
unset($file);
unset($fileatt);
unset($fileatt_type);
unset($fileatt_name);

}



$ok = @mail($email_to, $email_subject, $email_message, $headers);


return $ok;


}





$ficheros[]="foto1.jpg";
$ficheros[]="foto2.jpg";
$ficheros[]="foto3.jpg";

mandarmail("pgarcia@cpo.es","pgarcia@cpo.es","quieres pipas","no tengo",$ficheros);


?>

No hay comentarios: