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 = "[email protected]"; // 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 = "[email protected]"; // 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. Link to comment https://forums.phpfreaks.com/topic/28841-sending-html-email-with-attachment-in-php-problem/ 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] Link to comment https://forums.phpfreaks.com/topic/28841-sending-html-email-with-attachment-in-php-problem/#findComment-132030 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. Link to comment https://forums.phpfreaks.com/topic/28841-sending-html-email-with-attachment-in-php-problem/#findComment-132070 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.