Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • Script for email send with multiple attachments using PHP?

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 976
    Comment on it

    We can send mail by Using mail() function.This is a PHP predefined function for sending mail.

    Also we can send multiple attachment at the same time using php mail function and using php code for multiple files.


    For sending multiple attachment we have to use MIME extenstion.

    Also we have to create an array of file that we would like to send as an attachment along with mail.


    Example: Below is the php script for sending multiple attachment.

    <?php
    
        // array with filenames to be sent as attachment
        $files = array("file1.jpg","file2.pdf","file3.txt");
    
        // email fields: to, from, subject, and so on
        $to = "yourmail@mail.com";
        $from = "mymail@mail.com"; 
        $subject ="My subject"; 
        $message = "My message";
        $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 = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n"
                   . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . 
                     "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; 
        $message .= "--{$mime_boundary}\n";
    
        // preparing attachments
        for($x=0;$x< count($files);$x++){
                $file = fopen($files[$x],"rb");
                $data = fread($file,filesize($files[$x]));
                fclose($file);
                $data = chunk_split(base64_encode($data));
                $message .= "Content-Type: {\"application/octet-stream\"};\n" .  
    
                            " name=\"$files[$x]\"\n" . 
                "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
                "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
                $message .= "--{$mime_boundary}\n";
        }
        // send
        $success = @mail($to, $subject, $message, $headers); 
        if ($success) { 
                echo "

    mail sent to $to !

    "; } else { echo "

    mail could not be sent!

    "; } ?>

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: