Email with attachments coming through damaged
| From: | Ron dot Herhuth at tatumpartners dot com | Date: | Wed, 24 Mar 2004 20:22:34 +0000 |
| Subject: | Email with attachments coming through damaged | ||
| Groups: | php.windows | ||
| Request: | Send a blank email to php-windows+get-23260@lists.php.net to get a copy of this message | ||
Hi,
I'm trying to send an attachment via email using the following function,
but it keeps coming through damaged. I am having no trouble emailing the
same attachment using OutLook. Is there something wrong with the function
I'm using? The attachment shows up and I'm not getting any errors, but it
just won't open up in Acrobat.
Thanks,
Ron
<?
$email_address = "ron@tatumcfo.com";
$email_from = "cio.tax@tatumcio.com";
$subject = "Testing Email with attachments";
$msg = "Text message shown in email";
$attach_filepath = array("2003_CIO_K1_Memo.pdf");
xmail($email_address,$email_from,$subject,$msg,$attach_filepath);
function xmail($email_address,$email_from,$subject,$msg,$attach_filepath)
{
$b = 0;
$mail_attached = "";
$boundary = md5(uniqid(time(),1))."_xmail";
if (count($attach_filepath)>0) {
for ($a=0;$a<count($attach_filepath);$a++) {
if ($fp = fopen($attach_filepath[$a],"rb")) {
$file_name = basename($attach_filepath[$a]);
$content[$b] = fread($fp,filesize($attach_filepath[$a]));
$mail_attached .= "--".$boundary."\r\n"
."Content-Type: application/pdf; name=\"$file_name\"\r\n"
. "Content-Transfer-Encoding: base64\r\n"
. "Content-Disposition: attachment;
filename=\"$file_name\"\r\n\r\n"
.chunk_split(base64_encode($content[$b]))."\r\n";
$b++;
fclose($fp);
} else {
echo "NEIN";
}
}
$mail_attached .= "--".$boundary." \r\n";
$add_header ="MIME-Version: 1.0\r\nContent-Type: multipart/mixed;
boundary=\"$boundary\"";
$mail_content = "--".$boundary."\r\n"
. "Content-Type: text/plain; charset=iso-8859-1; format=flowed\r\n"
. "Content-Transfer-Encoding: 8bit\r\n\r\n"
. $msg."\r\n\r\n".
$mail_attached;
return mail($email_address,$subject,$mail_content,"From:
".$email_from."\r\n".$add_header);
} else
return mail($email_address,$subject,$msg,"From: ".$email_from);
}
}
?>