Send Mail with attachment

Discussion in 'PHP' started by revathyelan, Jul 22, 2009.

  1. #1
    Hi, I used the php code to send a mail with attachment. I can receive the mail with attachment. After download the attachment and tried to open it, it has no content(if the attachment is text file), or it shows "No Preview available"(if the attachment is jpg file). How can i resolve this problem????:confused:

    Thanks in advance,
    Revathy.
     
    revathyelan, Jul 22, 2009 IP
  2. Sergey Popov

    Sergey Popov Peon

    Messages:
    29
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Revathy, it is hard to give advice without seeing your code, but I would suggest that you use PHP Mailer class (find it on sourceforge.net) it is easy to use, and perfectly work with attachments.
     
    Sergey Popov, Jul 22, 2009 IP
  3. revathyelan

    revathyelan Peon

    Messages:
    9
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Hai, Thank you for your reply. I used this code.

    <?php

    $to = "revathyelan@yahoo.com";

    $subject = "A test email";

    $random_hash = md5(date('r', time()));

    $headers = "From: revathyelan@gmail.com\r\nReply-To: revathyelan@gmail.com";

    $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";

    // $attachment = chunk_split(base64_encode(file_get_contents("pink.jpg")));
    $attachment = chunk_split(base64_encode(file_get_contents("/default/files/x.txt")));


    $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/txt; name=x.txt
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment

    $attachment
    --PHP-mixed-$random_hash--";

    echo @mail($to, $subject, $output, $headers);

    ?>
     
    revathyelan, Jul 22, 2009 IP