netlovers Posted November 29, 2006 Share Posted November 29, 2006 I have found the following code for sending html email with attachment .This code is working fi9 but it is not showing message text "hello" defined in $email_txt[code]<? if($_FILES["fileatt"] != NULL) { $fileatt_type = "application/octet-stream"; //File Type $email_from = "baber@inbox.com"; // Who the email is from $email_subject = "Test File Attach"; // The Subjectof the email $email_txt = "hello"; // Message that the email has in it $email_to = "baberzubair@gmail.com"; // Who the email is too $headers = "From: ".$email_from; $file = fopen($_FILES["fileatt"]["tmp_name"],"rb"); $data = fread($file,filesize($_FILES["fileatt"]["tmp_name"])); 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-partmessage 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"; $email_message = $email_message.$email_txt; $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!"); } } ?>[/code]so if u have solution for this problem plz tell me. Quote Link to comment Share on other sites More sharing options...
taith Posted November 29, 2006 Share Posted November 29, 2006 enjoy.[code]<?function email($to, $subject, $text, $from="", $file=""){ if(is_array($to)) $to = implode(", ",$to); if(empty($to)) return FALSE; if(empty($subject)) $subject="N/A"; $subject=strip_tags($subject); $text = wordwrap($text, 77, "<br />\n"); if(file_exists($file)){ switch(get_filetype($file,3)){ case ".rm": $type="audio/x-realaudio"; break; case ".qt": $type="video/quicktime"; break; } switch(get_filetype($file)){ case ".avi": $type="video/avi"; break; case ".doc": $type="application/msword"; break; case ".gif": $type="image/gif"; break; case ".jpg": $type="image/jpeg"; break; case ".mov": $type="video/mov"; break; case ".mpg": $type="video/mpeg"; break; case ".pdf": $type="application/pdf"; break; case ".png": $type="image/png"; break; case ".ram": $type="audio/x-pn-realaudio"; break; case ".tar": $type="application/x-tar"; break; case ".wav": $type="audio/wav"; break; case ".zip": $type="application/x-zip-compressed"; break; } switch(get_filetype($file,5)){ case ".html": $type="text/html"; break; case ".mpeg": $type="video/mpeg"; break; } if(!isset($type)) $type="text/plain"; $content = fread(fopen($file,"r"),filesize($file)); $content = chunk_split(base64_encode($content)); $name = basename($file); } $uid = strtoupper(md5(uniqid(time()))); $header = "From: $from\nReply-To: $from\n"; $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: multipart/mixed; boundary=$uid\n"; $header .= "--$uid\n"; $header .= "Content-Type: text/html\n"; $header .= "--$uid\n"; if(file_exists($file)){ $header .= "Content-Type: $type; name=\"$name\"\n"; $header .= "Content-Transfer-Encoding: base64\n"; $header .= "Content-Disposition: attachment; filename=\"$name\"\n\n"; $header .= "$content\n"; $header .= "--$uid--"; } if(mail($to, $subject, $text, $header)) return TRUE; else return FALSE;}?>[/code] Quote Link to comment Share on other sites More sharing options...
netlovers Posted November 29, 2006 Author Share Posted November 29, 2006 Actually i dont need any other code.The code i defind above is perfect for my needs.I just wanna know why it is not showing email text so plz tell me the solution for that. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.