twilitegxa Posted December 22, 2010 Share Posted December 22, 2010 I have the following code, which is supposed to allow me to send files with e-mails, but it is only attached a MIME attachment and not the PDF I want to attach. Here is the code: <?php $name = $_REQUEST['txtName']; $email = $_REQUEST['txtEmail']; $to = "$email"; $subject = "A test email"; $random_hash = md5(date('r', time())); $headers = "From: [email protected]\r\nReply-To: [email protected]"; $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\""; $attachment = chunk_split(base64_encode(file_get_contents("http://www.webdesignsbyliz.com/blog/wp-content/themes/twentyten/eBook.pdf"))); $output = " --PHP-mixed-$random_hash; Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash' --PHP-alt-$random_hash Content-Type: text/plain; charset='iso-8859-1' Content-Transfer-Encoding: 7bit Hello World! This is the simple text version of the email message. --PHP-alt-$random_hash Content-Type: text/html; charset='iso-8859-1' Content-Transfer-Encoding: 7bit <h2>Hello World!</h2> <p>This is the <b>HTML</b> version of the email message.</p> --PHP-alt-$random_hash-- --PHP-mixed-$random_hash Content-Type: application/pdf; name=http://www.webdesignsbyliz.com/blog/wp-content/themes/twentyten/eBook.pdf Content-Transfer-Encoding: base64 Content-Disposition: attachment $attachment --PHP-mixed-$random_hash--"; echo @mail($to, $subject, $output, $headers); ?> What am I doing wrong? [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/222383-send-pdf-with-phpmail-function/ Share on other sites More sharing options...
twilitegxa Posted December 22, 2010 Author Share Posted December 22, 2010 I found a different code that sends the PDF, but when I try to open it, it says it may not have been decoded right. Can anyone help? Here is the code and the message. I also received this message when the page was processed: Warning[/size]: filesize() [[/size]function.filesize[/size]]: stat failed for http://www.webdesignsbyliz.com/blog/wp-content/themes/twentyten/eBook.pdf in[/size] [/size]/home/webdes17/public_html/blog/wp-content/themes/twentyten/sendEbook3.php[/size] [/size]on line[/size] [/size]20[/size][/size][/size]Warning[/size]: fread() [[/size]function.fread[/size]]: Length parameter must be greater than 0 in[/size] [/size]/home/webdes17/public_html/blog/wp-content/themes/twentyten/sendEbook3.php[/size] [/size]on line[/size] [/size]20 <?php $name = $_REQUEST['txtName']; $email = $_REQUEST['txtEmail']; $fileatt = "http://www.webdesignsbyliz.com/blog/wp-content/themes/twentyten/eBook.pdf"; // Path to the file $fileatt_type = "application/pdf"; // File Type $fileatt_name = "eBook.pdf"; // Filename that will be used for the file as the attachment $email_from = "[email protected]"; // Who the email is from $email_subject = "Your attached file"; // The Subject of the email $email_message = "Thanks for visiting mysite.com! Here is your free file.<br>"; $email_message .= "Thanks for visiting.<br>"; // Message that the email has in it $email_to = $email; // Who the email is to $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: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><center>You file has been sent<br> to the email address you specified.<br> Make sure to check your junk mail!<br> Click <a href=\"#\" onclick=\"history.back();\">here</a> to return to mysite.com.</center>"; } else { die("Sorry but the email could not be sent. Please go back and try again!"); } ?> [attachment deleted by admin] Link to comment https://forums.phpfreaks.com/topic/222383-send-pdf-with-phpmail-function/#findComment-1150314 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.