Results 1 to 2 of 2

Thread: attaching a file for mail

  1. #1
    Join Date
    Aug 2010
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default attaching a file for mail

    Thankyou in advance for taking a look at this.
    Been at this for a long while.

    I don't usually take such challenges when I know I don't have the experience or the knowledge but this task has gotten the best of me.

    my code is the following

    Code:
    <?php 
    if(isset($_POST['submit'])){
    
    $email_from = $_POST['owner_email']; // Who the email is from 
    $email_subject = "asf"; // The Subject of the email 
    $email_message = "asdf"; // Message that the email has in it 
    
    $email_to = "ebichuhamster+mailtest@gmail.com"; // Who the email is too 
    
    $headers = "From: ".$email_from;
    
    
    
    $semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
    
    $headers .= "\nMIME-Version: 1.0\n" . 
    "Content-Type: multipart/mixed;\n" . 
    " boundary=\"{$mime_boundary}\""; 
    
    $email_message .= "This is a multi-part message in MIME format.\n\n" . 
    "--{$mime_boundary}\n" . 
    "Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
    "Content-Transfer-Encoding: 7bit\n\n" . 
    $email_message . "\n\n"; 
    
    
    
    /********************************************** First File ********************************************/
    
    
    $fileatt = $_FILES['file']['tmp_name']; // Path to the file 
    $fileatt_type = "application/octet-stream"; // File Type 
    $fileatt_name = "thegame.jpg"; // Filename that will be used for the file as the attachment 
    
    $file = fopen($fileatt,'r+'); 
    //$data = fread($file,filesize($fileatt)); 
    //fclose($file); 
    
    
    $data = chunk_split(base64_encode($file)); 
    
    $email_message .= "--{$mime_boundary}\n" . 
    "Content-Type: {$fileatt_type};\n" . 
    " name=\"{$fileatt_name}\"\n" . 
    //"Content-Disposition: attachment;\n" . 
    //" filename=\"{$fileatt_name}\"\n" . 
    "Content-Transfer-Encoding: base64\n\n" . 
    $data . "\n\n" . 
    "--{$mime_boundary}\n"; 
    unset($data);
    unset($file);
    unset($fileatt);
    unset($fileatt_type);
    unset($fileatt_name);
    
    
    /********************************************** Second File ********************************************/
    
    
    
    /********************************************** End of File Config ********************************************/
    
    // To add more files just copy the file section again, but make sure they are all one after the other! If they are not it will not work!
    
    
    $ok = @mail($email_to, $email_subject, $email_message, $headers); 
    
    if($ok) { 
    echo "<font face=verdana size=2>The file was successfully sent!</font>"; 
    } else { 
    die("Sorry but the email could not be sent. Please go back and try again!"); 
    } 
    }
    ?>
    to collect the data im using a standard input file tag on the HTML.

    from what I understand, the file must be temporarily upoloaded to the server. This is done with simple html. To acces the file i use the $_FILES superglobal.

    When I upload the whole php file to a server on godaddy, run, it simply says the email failed to send. With no errors.

    Btw i found this code on line, so maybe thats's important...

  2. #2
    Join Date
    Aug 2010
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default upgrading then

    maybe the code as a little too unreadable so im going to use my working email sending script and ask how do I add an attachment

    Code:
    <?php	
        
        if(isset($_POST['submit'])){
        $to = "myemal@mydomain.com";
        $subject = $_POST['subject'];
        
        $message = $_POST['message'];
        $headers = $_POST['from'];
        $mail_sent=@mail($to, $subject, $message, $headers);}
    ?>
    a requirement is that it should accept only image files

    thanks again

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •