Forum Moderators: coopster

Message Too Old, No Replies

Emailing Attachment Problem

         

kingcobra96

10:16 pm on Jan 27, 2003 (gmt 0)



I found this code on the web and it seems great except that the attachment is only 1 byte in size instead of the entire file. I don't know much about php so please help. Thanks, Steve

<?php
$fileatt = "/my/path/"; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name = "blank.csv"; // Filename that will be used for the file as the attachment

$email_from = "me@me.com"; // Who the email is from
$email_subject = "Info Submission"; // The Subject of the email
$email_message = "Info Attached is blank.csv"; // Message that the email has in it

$email_to = "me@me.com"; // 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";

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

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";

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

if($ok) {
echo "<font face=verdana size=2>Your Information Has Been Added!</font>";
} else {
die("Sorry but the email could not be sent. Please go back and try again!");
}
?>

andreasfriedrich

6:52 am on Jan 28, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Welcome to WebmasterWorld [webmasterworld.com] Steve.

Be sure to read Marcia`s WebmasterWorld Welcome and Guide to the Basics [webmasterworld.com] post.

Please donīt take this the wrong way Steve, but have you checked that the

$data
variables actually contains the content of the file you want to send. Unless the data comes in via a GET or POST request and you have
register_globals
turned on, there wonīt be any data in it. You might want to open the file you are trying to send, read its content and then go on with the rest of your script.

Andreas