Question

  • Creator
    Topic
  • #4045597
    Avatar photo

    Sending email with multiple attachment is not working using php mail

    by Gcobani Mkontwana ·

    Hi Team

    I really need some help, i have code that send multiple attachment its using php mail function. The email does gets send but the problem it only shows total size attachment. What could be the problem and need help

    // code
    <?php
    function multi_attach_mail($to, $subject, $message, $senderEmail, $senderName, $received_email_send = array()){

    // Sender info
    $from = $senderName.” <“.$senderEmail.”>”;
    $headers = “From: $from”;

    // Boundary
    $semi_rand = md5(time());
    $mime_boundary = “==Multipart_Boundary_x{$semi_rand}x”;

    // Headers for attachment
    $headers .= “\nMIME-Version: 1.0\n” .
    “Content-Type: multipart/mixed;\n” . ” boundary=\”{$mime_boundary}\””;

    // Multipart boundary
    $message = “–{$mime_boundary}\n” . “Content-Type: text/html; charset=\”UTF-8\”\n” .
    “Content-Transfer-Encoding: 7bit\n\n” . $message . “\n\n”;

    // Preparing attachment
    if(!empty($received_email_send)){
    for($i=0;$i<count($received_email_send);$i++){
    if(is_file($received_email_send[$i])){
    $file_name = basename($received_email_send[$i]);
    $file_size = filesize($received_email_send[$i]);

    $message .= “–{$mime_boundary}\n”;
    $fp = @fopen($received_email_send[$i], “rb”);
    $data = @fread($fp, $file_size);
    @fclose($fp);
    $data = chunk_split(base64_encode($data));
    $message .= “Content-Type: application/octet-stream; name=\””.$file_name.”\”\n” .
    “Content-Description: “.$file_name.”\n” .
    “Content-Disposition: attachment;\n” . ” filename=\””.$file_name.”\”; size=”.$file_size.”;\n” .
    “Content-Transfer-Encoding: base64\n\n” . $data . “\n\n”;
    }
    }
    }

    $message .= “–{$mime_boundary}–“;
    $returnpath = “-f” . $senderEmail;

    // Send email
    $mail = mail($to, $subject, $message, $headers, $returnpath);

    // Return true if email sent, otherwise return false
    if($mail){
    return true;
    }else{
    return false;
    }
    }

    // Email configuration
    $to = ‘xxx@yyy.org.za’;
    $from = ‘zzz@gmail.com’;
    $fromName = “abcde”;

    • This topic was modified 2 weeks, 3 days ago by Avatar photokees_b.

You are posting a reply to: Sending email with multiple attachment is not working using php mail

The posting of advertisements, profanity, or personal attacks is prohibited. Please refer to our Community FAQs for details. All submitted content is subject to our Terms of Use.

All Answers

Viewing 2 reply threads