Jump to content

php for doesnt show attachments in iphone


scurti130

Recommended Posts

Hey guys I'm using a php based form for my website to take contact information and an attachment from a user and it sends it to my company email address. All the email account information is correct because when I open the message up in Microsoft Outlook I get the information and the attachments. However, when I try to open up the message on my iPhone 4, I just get information with no attachments.

 

I frequently check my email from my iPhone because sometimes I am not able to make it to my computer to use Outlook. I would really like for this to work and would appreciate any help you guys have.

 

Not sure if it is needed but here is the code for the from I use:

 

<?php

//turn off error reporting --easily commented out for development, but keeps site visitors from seeing any random thrown errors
error_reporting(0); 
// specify the recipients and subject
$to = "[email protected]";
$subject = "Someone Has Requested A Quote";
//grab all our vars from the form
extract($_POST);
//build the body of the message from the form
$body = "
The Quote Requested
Name: $fname $lname
Company: $company
Phone Number: $phone
Ext: $phoneext
Description: $description
Best time to call: $call
";

    //Let's start our headers
    $headers = "From:[email protected]\r\n";
    //$headers .= "Reply-To:PUT_YOUR_EMAIL_ADDRESS_OR_VARIABLE_HERE\r\n"; 
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n"; 
    $headers .= "X-Sender:[email protected]\r\n";
    $headers .= "X-Mailer: PHP5\n";
    $headers .= "X-Priority: 3\n"; //1 = Urgent, 3 = Normal
    //$headers .= "Return-Path:PUT_YOUR_EMAIL_ADDRESS_OR_VARIABLE_HERE\r\n"; 
    $headers .= "This is a multi-part message in MIME format.\n";
    $headers .= "------=MIME_BOUNDRY_main_message \n"; 
    $headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n"; 
    
    $message = "------=MIME_BOUNDRY_message_parts\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
    $message .= "Content-Transfer-Encoding: quoted-printable\n"; 
    $message .= "\n"; 
    /* Add our message, in this case it's plain text.  You could also add HTML by changing the Content-Type to text/html */
$message .= "$body\n"; 
        $message .= "\n";  
        $message .= "------=MIME_BOUNDRY_message_parts--\n";  
        $message .= "\n";  
/*deal with mulitple attachments */
        foreach($_FILES as $file => $value) { 
            $_tmpname = $_FILES[$file]['tmp_name']; 
            $_filename = $_FILES[$file]['name']; 
            if (is_uploaded_file($_tmpname)) { //Do we have a file uploaded? 
                $fp = fopen($_tmpname, "rb"); //Open it 
                $data = fread($fp, filesize($_tmpname)); //Read it 
                $data = chunk_split(base64_encode($data)); //Chunk it up and encode it as base64 so it can emailed 
                $message .= "------=MIME_BOUNDRY_main_message\n";  
                $message .= "Content-Type: application/octet-stream;\n\tname=\"" . $_filename . "\"\n"; 
                $message .= "Content-Transfer-Encoding: base64\n"; 
                $message .= "Content-Disposition: attachment;\n\tfilename=\"" . $_filename . "\"\n\n"; 
                $message .= $data; //The base64 encoded message 
                $message .= "\n\n"; 
                fclose($fp); 
            } 
        } 
     
        $message .= "------=MIME_BOUNDRY_main_message--\n";  

// set specific SMTP for this message - you may not need this, but I have to manually set the SMTP because it is not localhost
ini_set('SMTP','mail.mywebsite.com');
// send message to recipients
@mail( $to, $subject, $message, $headers );
// redirect to thank you page after sending email
header("Location: http://www.mywebsite.com/quoteComplete.html"); ?> 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.