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: noreply@geekology.co.za\r\nReply-To: noreply@geekology.co.za";

  $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
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 = "sales@mysite.com"; // 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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.