Avatar billede oldschool Nybegynder
21. januar 2007 - 16:38 Der er 3 kommentarer og
1 løsning

PHP mail til mac mail program

Hej

Jeg har lige fået en php mail form til at fungere efter hensigten og sender en mail til brugeren om at jeg har modtaget mailen osv...

MEN, når så jeg hiver mailsne ned på min mac i OSX standart mailprogram, kan den ikke læse mailsne! Den skriver en rigtig overskrift og attacher en fil som hedder mime-attachment

Nogen der ved hvad dette problem kan skyldel??? Det virker helt fint på webmail, outlook på pc og hotmail...

Takker :)

Oldschool
Avatar billede showsource Seniormester
21. januar 2007 - 21:29 #1
vis din kode her på sitet er din ven!
Avatar billede oldschool Nybegynder
22. januar 2007 - 14:29 #2
<?php


//Include configuration file and function file
//(default location is in the same directory)
include_once('contact/config.php');
include_once('contact/functions.php');

//If contact is being sent:
if($_POST['submit_id'] == 1){
    //Check name entered
    if($_POST['name'] == NULL){ $message = 'Please enter your name.';}
   
    //check if email is enetered
    if($message == NULL && is_valid_email($_POST['email']) == false ){ $message = 'Please enter a valid email.';}
   
    //check if message is entered
    if($_POST['message_text'] == NULL && $message == NULL){ $message = 'Please enter a comment.';}   
   
    //File Upload checks
    if($message == NULL && $FILE_UPLOAD == 1 && $_FILES['user_file']['name'] != NULL){
        if($_FILES['user_file']['size'] > (($FILE_UPLOAD_MAX*1024)*1024)){ $message = 'File is over '.$FILE_UPLOAD_MAX.' MB in size.';}
        if($message == NULL && allowed_ext($FILE_UPLOADS_EXT,$_FILES['user_file']['name']) == false){$message = 'Invalid extension.';}
        $new_filename = date("G_i_s_").$_FILES['user_file']['name'];
    }
   
    //Image verificaiton checks
    if($message == NULL && $IMAGE_VERIFICATION == 1){
        $te_co = hex2bin($_POST['hid_code']);
        $word_is = RC4($te_co,$IMAGE_VER_CODE);
        if($word_is != $_POST['confirm_image']){$message = 'Your verfication code is incorrect.';}
    }
    //End verifications, start processing
    if($message == NULL){
        //Check if file upload is needed
        if($FILE_UPLOAD == 1 && $_FILES['user_file']['name'] != NULL){
            //Store file for keep and email
            move_uploaded_file($_FILES['user_file']['tmp_name'],$FILE_UPLOADS_DIR.$new_filename);
        }
        //compose admin/user message templates replaces
        $do_search = array('$+name+$','$+email+$','$+message_text+$','$+reason+$');
        $do_replace = array($_POST['name'],$_POST['email'],$_POST['message_text'],$_POST['reason']);
               
       
        //Send user email?
        if($SEND_THANKS == 1){
            $user_message = str_replace($do_search,$do_replace,$USER_TEMPLATE);
            //Set Headers
            $user_header = "Return-Path: ".$EMAIL_OPTIONS['TITLE']." <".$EMAIL_OPTIONS['FROM'].">\r\n";
            $user_header .= "From: ".$EMAIL_OPTIONS['TITLE']." <".$EMAIL_OPTIONS['FROM'].">\r\n";
            $user_header .= "Content-Type: ".$EMAIL_OPTIONS['TYPE']."; charset=".$EMAIL_OPTIONS['CHARSET'].";\n\n\r\n";
            //Send Thank you
            mail ($_POST['email'],$EMAIL_OPTIONS['USER_SUBJECT'],$user_message,$user_header);   
        }
       
        //Send admi email?
        if(count($ADMIN_EMAILS) > 0){
            $admin_message = str_replace($do_search,$do_replace,$ADMIN_TEMPLATE);
            //Do we need to send file as attachment?
            if($FILE_DO != 1){
                //Get file attriubtes
                $fileatt_type = $_FILES['user_file']['type'];
               
                $file = fopen($FILE_UPLOADS_DIR.$new_filename,'rb');
                while($dat = fread($file,1025657)){
                    $attachment_data .= $dat;
                }
                fclose($file);
               
                // Encode file content
                $attachment_data = chunk_split(base64_encode($attachment_data));
                //File upload headers
                $semi_rand = md5(time());
                $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
               
                $headers = "From: ".$EMAIL_OPTIONS['TITLE']." <".$EMAIL_OPTIONS['FROM'].">";
               
                // Add the headers for a file attachment
                $headers .= "\nMIME-Version: 1.0\n" .
                    "Content-Type: multipart/mixed;\n" .
                    " boundary=\"{$mime_boundary}\"";                       
               
                  // Add a multipart boundary above the plain message
                $new_message = "This is a multi-part message in MIME format.\n\n" .
                    "--{$mime_boundary}\n" .
                    "Content-Type: ".$EMAIL_OPTIONS['TYPE']."; charset=\"".$EMAIL_OPTIONS['CHARSET']."\"\n" .
                    "Content-Transfer-Encoding: 7bit\n\n" .
                    $admin_message . "\n\n";
                         
                  // Add file attachment to the message
                $new_message .= "--{$mime_boundary}\n" .
                    "Content-Type: {$fileatt_type};\n" .
                    " name=\"{$new_filename}\"\n" .
                    "Content-Disposition: attachment;\n" .
                    " filename=\"{$new_filename}\"\n" .
                    "Content-Transfer-Encoding: base64\n\n" .
                    $attachment_data . "\n\n" .
                    "--{$mime_boundary}--\n";
               
                unset($attachment_data);
            } else {
                //regular headers
                $headers = "Return-Path: ".$EMAIL_OPTIONS['TITLE']." <".$EMAIL_OPTIONS['FROM'].">\r\n";
                $headers .= "From: ".$EMAIL_OPTIONS['TITLE']." <".$EMAIL_OPTIONS['FROM'].">\r\n";
                $headers .= "Content-Type: ".$EMAIL_OPTIONS['TYPE']."; charset=".$EMAIL_OPTIONS['CHARSET'].";\n\n\r\n";
                $new_message = $admin_message;
            }
            //Send admin emails
            foreach($ADMIN_EMAILS as $this_email){
                mail ($this_email,$EMAIL_OPTIONS['ADMIN_SUBJECT'],$new_message,$headers);   
            }
        }
       
        //Remove file if not needed
        if($FILE_DO == 2){
            unlink($FILE_UPLOADS_DIR.$new_filename);
        }
        $message = 'Your message has been sent, thank you.';
        $_POST = NULL;
    }
}
if($message != NULL){
?>
<table width="100%"  border="0" cellpadding="5" cellspacing="0" bgcolor="#FF8080">
  <tr>
    <td bgcolor="#000000"><font color="#FFFFFF"><?=$message;?></font></td>
  </tr>
</table>
<br/>
<?php } ?>
<form action="<?php echo $_SERVER['PHP_SELF?page=contact'];?>" method="post" enctype="multipart/form-data" name="contact" id="contact" style="display:inline;">
<table width="100%"  border="0" align="left" cellpadding="5" cellspacing="0">
    <tr>
      <td>Name:</td>
        <td><input name="name" width="170" type="text" id="name" value="<?php echo $_POST['name'];?>"></td>
    </tr>
    <tr>
      <td>Email:</td>
        <td><input name="email" width="170" type="text" id="email" value="<?php echo $_POST['email'];?>"></td>
    </tr>
    <tr>
      <td>Reason for contact: </td>
        <td><select name="reason" id="reason" style="width:220px;">
        <?php if($_POST['reason'] == 'Support' || $_POST['reason'] == NULL){ $sel = ' selected';} else { $sel = NULL;} ?>
        <option value="OPT 1"<?=$sel;?>>OPT 1</option>
        <?php if($_POST['reason'] == 'Billing'){ $sel = ' selected';} else { $sel = NULL;} ?>
        <option value="OPT 2"<?=$sel;?>>OPT 2</option>
        <?php if($_POST['reason'] == 'Complaints'){ $sel = ' selected';} else { $sel = NULL;} ?>
        <option value="OPT 3"<?=$sel;?>>OPT 3</option>
       
      </select></td>
    </tr>
    <tr>   
      <td>Message:</td>
        <td><textarea name="message_text" cols="40" rows="4" id="message_text"><?php echo $_POST['message_text'];?></textarea></td>
    </tr>
        <tr>
        <td></td>
        <td colspan="2" align="left">
          <input type="submit" name="Submit" value="Send">
        <input name="submit_id" type="hidden" id="submit_id" value="1">
        </td>
    </tr>
    <?php
    if($IMAGE_VERIFICATION == 1){?>
    <tr>
      <td>Verification code:</td>
        <td>          <table  border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td><?php
                $referenceid = md5(mktime()*rand());
                //Generate the random string
                $chars = array("a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J","k",
                "K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T","u","U","v",
                "V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8","9");
                $length = 8;
                $textstr = "";
                for ($i=0; $i<$length; $i++) {
                  $textstr .= $chars[rand(0, count($chars)-1)];
                }
                $new_string = RC4($textstr,$IMAGE_VER_CODE);
                $image_link = bin2hex($new_string);
                ?>
                <img src="sec_image.php?code=<?=$image_link;?>">
                <input name="hid_code" type="hidden" id="hid_code" value="<?=$image_link;?>"><br/>
                <input name="confirm_image" type="text" id="confirm_image" value="<?php echo $_POST['confirm_image'];?>"></td>
            </tr>
            </table>
        </td>
    </tr>
    <?php }
    if($FILE_UPLOAD == 1){?>
    <tr>
      <td>File Upload </td>
      <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><input name="user_file" type="file" id="user_file"></td>
        </tr>
        <tr>
          <td><font color="#FF0000" size="2">Max. File Size:
            <?=$FILE_UPLOAD_MAX;?>
            MB, Allowed Extensions:
            <?php foreach($FILE_UPLOADS_EXT as $ext){ echo '-'.$ext;}?>
          </font>
         
          </td>
        </tr>
      </table>        </td>
    </tr>

    <?php } ?>

</table>   

</form>
Avatar billede oldschool Nybegynder
22. januar 2007 - 14:30 #3
Det er et script jeg havde liggende og bruger hverken fileupload eller verification... Er ikke så skarp i php, så har ikke haft held med at fjerne disse funktioner...
Avatar billede oldschool Nybegynder
23. januar 2007 - 15:28 #4
LUKKER HER, er vist selv kommet videre men flere problemer;) -> Oprette nyt hvis ikke jeg kan få det til at fungere (Håber ikke dette er imod "husreglerne") :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester