Hi dear all.. I have done email attachment in php, code is working fine but output is not coming fine.

here is code.

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

$email_from = "abc@live.com"; // Who the email is from
$email_subject = "file attachment"; // The Subject of the email
$email_txt = "this is my 1st attachment"; // Message that the email has in it

$email_to = "abc@live.com"; // Who the email is too

$headers = "From: ".$email_from;

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

$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:image/jpeg; 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";
$header.=$data;
$ok = @mail($email_to, $email_subject, $email_message, $headers);

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


the out is comming like this..

MIME-Version 1.0
Content-Type : Multipart/mixed boundry ="98880d456ef7e951e30806dce286a7ad"

This is a multipart message in MIMI formate--98880d456ef7e951e30806dce286a7ad
Content-Type: text/plain charset=iso 8859-1Content-Transfer-encoding 7bitnn "r
This is not a joke

--98880d456ef7e951e30806dce286a7ad
Content-Type: image/jpeg; name="banner_php.jpg"

Content-Transfer-encoding 7bitnn"r"Content-Desposition : attachment; filename="banner_php.jpg"r

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBDAJ9AwERAAIRAQMRAf/EAMsAAQAABQUBAAAAAAAAAAAA
AAAGBwgJCgECBAULAwEBAAEFAQEAAAAAAAAAAAAAAAECAwQFBgcIEAABAwMDAwIEAwIKBgYHCQEC
AQMEAAUGERIHIRMIMQlBIhQVUWEyI5RxgULSM9NUVRYK8JGhUiQXscHxYkMY0eFyglM0JqJjo7NE.
plz tell me wht should i do.

Member Avatar for Zagga

Hi panhwer89,

It looks like your attachment is base64 encoded. You need to use the base64_decode function to decode it.


Zagga

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.