Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send CSV file attached to the email

Tags:

php

email

csv

I have an issue: i need to create csv file and send it attached to the particular emails. Honestly i never do that so i'm quite a lammer in this matter. Can anybody tell me with what i have to start or share some links?

like image 457
Kuen Avatar asked Dec 02 '22 02:12

Kuen


1 Answers

I think this what you are looking for, i've used it in the past works perfectly.

Hope it helps.

 <?php
    $cr = "\n";
    $csvdata = "First Name" . ',' . "Last Name"  . $cr;
    $csvdata .= $txtFName . ',' . $txtLName . $cr;

    $thisfile = 'file.csv';

    $encoded = chunk_split(base64_encode($csvdata));

    // create the email and send it off

    $subject = "File you requested from RRWH.com";
    $from = "[email protected]";
    $headers = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-Type: multipart/mixed;
        boundary="----=_NextPart_001_0011_1234ABCD.4321FDAC"' . "\n";

    $message = '

    This is a multi-part message in MIME format.

    ------=_NextPart_001_0011_1234ABCD.4321FDAC
    Content-Type: text/plain;
            charset="us-ascii"
    Content-Transfer-Encoding: 7bit

    Hello

    We have attached for you the PHP script that you requested from http://rrwh.com/scripts.php
    as a zip file.

    Regards

    ------=_NextPart_001_0011_1234ABCD.4321FDAC
    Content-Type: application/octet-stream;  name="';

    $message .= "$thisfile";
    $message .= '"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="';
    $message .= "$thisfile";
    $message .= '"

    ';
    $message .= "$encoded";
    $message .= '

    ------=_NextPart_001_0011_1234ABCD.4321FDAC--

    ';

    // now send the email
    mail($email, $subject, $message, $headers, "-f$from");
   ?>

Kind regards, Wesley.

like image 195
Wesley Avatar answered Dec 06 '22 10:12

Wesley