- PHP mail() attachment problems
- $to = "myemail@mydomain.com";
- $from = "Website <website@mydomain.com>";
- $subject = "Test Attachment Email";
- $separator = md5(time());
- // carriage return type (we use a PHP end of line constant)
- $eol = PHP_EOL;
- // attachment name
- $filename = "document.pdf";
- //$pdfdoc is PDF generated by FPDF
- $attachment = chunk_split(base64_encode($pdfdoc));
- // main header
- $headers = "From: ".$from.$eol;
- $headers .= "MIME-Version: 1.0".$eol;
- $headers .= "Content-Type: multipart/mixed; boundary="".$separator.""".$eol.$eol;
- $headers .= "Content-Transfer-Encoding: 7bit".$eol;
- $headers .= "This is a MIME encoded message.".$eol.$eol;
- // message
- $headers .= "--".$separator.$eol;
- $headers .= "Content-Type: text/html; charset="iso-8859-1"".$eol;
- $headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
- $headers .= $message.$eol.$eol;
- // attachment
- $headers .= "--".$separator.$eol;
- $headers .= "Content-Type: application/octet-stream; name="".$filename.""".$eol;
- $headers .= "Content-Transfer-Encoding: base64".$eol;
- $headers .= "Content-Disposition: attachment".$eol.$eol;
- $headers .= $attachment.$eol.$eol;
- $headers .= "--".$separator."--";
- // send message
- if (mail($to, $subject, "", $headers)) {
- echo "mail send ... OK";
- } else {
- echo "mail send ... ERROR";
- }
- $to = "myemail@mydomain.com";
- $from = "Website <website@mydomain.com>";
- $subject = "Test Attachment Email";
- $separator = md5(time());
- // carriage return type (we use a PHP end of line constant)
- $eol = PHP_EOL;
- // attachment name
- $filename = "document.pdf";
- //$pdfdoc is PDF generated by FPDF
- $attachment = chunk_split(base64_encode($pdfdoc));
- // main header
- $headers = "From: ".$from.$eol;
- $headers .= "MIME-Version: 1.0".$eol;
- $headers .= "Content-Type: multipart/mixed; boundary="".$separator.""";
- // no more headers after this, we start the body! //
- $body = "--".$separator.$eol;
- $body .= "Content-Transfer-Encoding: 7bit".$eol.$eol;
- $body .= "This is a MIME encoded message.".$eol;
- // message
- $body .= "--".$separator.$eol;
- $body .= "Content-Type: text/html; charset="iso-8859-1"".$eol;
- $body .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
- $body .= $message.$eol;
- // attachment
- $body .= "--".$separator.$eol;
- $body .= "Content-Type: application/octet-stream; name="".$filename.""".$eol;
- $body .= "Content-Transfer-Encoding: base64".$eol;
- $body .= "Content-Disposition: attachment".$eol.$eol;
- $body .= $attachment.$eol;
- $body .= "--".$separator."--";
- // send message
- if (mail($to, $subject, $body, $headers)) {
- echo "mail send ... OK";
- } else {
- echo "mail send ... ERROR";
- }