Jump to content

Send PDF With PHPMail function


twilitegxa

Recommended Posts

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

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]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.