I used this code to send email with attachment using php, but there is something error in the attachment since I receive an email and the attachment appears in the content. before I use the same code and it worked successfully. why???
<?php
// sending email with attachments
function sendEmail($to,$from,$file,$ext){
$to = "admin@fuwant.com";
$from = "noor@fuwant.com";
$subject = "Translation Request";
$random_hash = md5(date('r', time()));
$headers = "From: sahar@fuwant.com\r\nReply-To: admin@fuwant.com";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$attachment = chunk_split(base64_encode(file_get_contents("Test.doc")));
$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/doc; name=Test.doc
Content-Transfer-Encoding: base64
Content-Disposition: attachment
$attachment
--PHP-mixed-$random_hash--";
$send = @mail($to, $subject, $output, $headers);
return $send;
}
?>
please help.
I am using this and ( with out using PHPMailer ), Hope this is helpful to you.
for what reason no use phpmailer? example for an attachment:
Your code wont be work, because email doesnt support whitespaces.
You must use without whitespaces
You can either do it the way this tutorial describes, or you can use one of the PEAR modules to send an email with an attachment the way this tutorial describes.
Using PEAR is probably a better option as it's easier to do. The only caveat is that PEAR isn't available on all hosts.