Send a attachement file(s) with e-mail.

This script will send one ore more attachement files with your automatic e-mail.

<?php
// array with filenames to be sent as attachment
$files = array("file_1.ext","file_2.ext","file_3.ext");

// email fields: to, from, subject, and so on
$to = "recipient@domain.com";
$from = "sender@domain.com";
$subject ="This is the subject";
$message = "This is the message.";
#$headers = "From: $from";
$from_name = "John Doe";
$headers = "From: ".$from_name." <".$from.">\r\n";

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

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

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

// preparing attachments
for($x=0;$x<count($files);$x++){
$data = chunk_split(base64_encode(file_get_contents($files[$x])));
$message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" .
"Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
$message .= "--{$mime_boundary}\n";
}

// send
if (mail($to, $subject, $message, $headers)) {
echo "<p>Mail succesfully sent to $to!</p>";
} else {
echo "<p>Mail could not be sent!</p>";
}
?>

Set your files in the array you wish to send for. If you not set the path remember that you should place the files in the same directory as your script.