sblake161189 Posted September 13, 2011 Share Posted September 13, 2011 Hi Guys, Please can someone shred some light on what im doing wrong. Upon form submission it takes you to the success page. It then grabs the data, emails it through to the owner as a HTML email and then attaches 2 file attachments. The issue I am having is the attachments appear BUT they will not open. Its as though the files are corrupt. Part of the form is as follows: CV: <input name="fileAttach[]" type="file" class="field" /> ID: <input name="fileAttach[]" type="file" class="field" /> The PHP is as follows: (please ignore most of the HTML body content from the email, the attachment bit is at the bottom) <?php // Grab Data from Form if(isset($_POST['submit'])) { // Personal Information $surname = mysql_real_escape_string($_POST['surname']); $firstname = mysql_real_escape_string($_POST['firstname']); $telephone = mysql_real_escape_string($_POST['telephone']); $mobile = mysql_real_escape_string($_POST['mobile']); $email = mysql_real_escape_string($_POST['email']); $address = mysql_real_escape_string($_POST['address']); $postcodep1 = mysql_real_escape_string($_POST['postcodep1']); $postcodep2 = mysql_real_escape_string($_POST['postcodep2']); $dob_dd = mysql_real_escape_string($_POST['dob_dd']); $dob_mm = mysql_real_escape_string($_POST['dob_mm']); $dob_yyyy = mysql_real_escape_string($_POST['dob_yyyy']); // Next of Kin $nextkinname = mysql_real_escape_string($_POST['nextkinname']); $nextkintel = mysql_real_escape_string($_POST['nextkintel']); // Availability $days_mon = mysql_real_escape_string($_POST['days_mon']); $days_tue = mysql_real_escape_string($_POST['days_tue']); $days_wed = mysql_real_escape_string($_POST['days_wed']); $days_thu = mysql_real_escape_string($_POST['days_thu']); $days_fri = mysql_real_escape_string($_POST['days_fri']); $days_sat = mysql_real_escape_string($_POST['days_sat']); $days_sun = mysql_real_escape_string($_POST['days_sun']); $availability_am = mysql_real_escape_string($_POST['availability_am']); $availability_pm = mysql_real_escape_string($_POST['availability_pm']); $availability_allday = mysql_real_escape_string($_POST['availability_allday']); $availability_requirements = mysql_real_escape_string($_POST['availability_requirements']); // Experience $experience = mysql_real_escape_string($_POST['experience']); // Rates $rate = mysql_real_escape_string($_POST['rate']); $rate_specific = mysql_real_escape_string($_POST['rate_specific']); // Employer Ref $employrefname = mysql_real_escape_string($_POST['employrefname']); $employrefcomp = mysql_real_escape_string($_POST['employrefcomp']); $employreftel = mysql_real_escape_string($_POST['employreftel']); $employrefadd = mysql_real_escape_string($_POST['employrefadd']); // Personal Ref $persrefname = mysql_real_escape_string($_POST['persrefname']); $persreftel = mysql_real_escape_string($_POST['persreftel']); $persrefadd = mysql_real_escape_string($_POST['persrefadd']); // Extra Information $allergy = mysql_real_escape_string($_POST['allergy']); $allergy_details = mysql_real_escape_string($_POST['allergy_details']); $drive = mysql_real_escape_string($_POST['drive']); $car = mysql_real_escape_string($_POST['car']); $criminal = mysql_real_escape_string($_POST['criminal']); $criminal_details = mysql_real_escape_string($_POST['criminal_details']); $howlongworkuk = mysql_real_escape_string($_POST['howlongworkuk']); $police_check = mysql_real_escape_string($_POST['police_check']); $right2work = mysql_real_escape_string($_POST['right2work']); $right2workna = mysql_real_escape_string($_POST['right2workna']); //*** Uniqid Session ***// $strSid = md5(uniqid(time())); // Email Options $subject = "XXX Job Application"; $to = "[email protected]"; $mailheader = ""; $mailheader .= "From: $email" . "\r\n"; // Applicants copy $mailheader .= "BCc: $email" . "\r\n"; $mailheader .= "MIME-Version: 1.0\n"; $mailheader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n"; $mailheader .= "This is a multi-part message in MIME format.\n"; $mailheader .= "--".$strSid."\n"; $mailheader .= "Content-type: text/html; charset=utf-8\n"; $mailheader .= "Content-Transfer-Encoding: 7bit\n\n"; // Message Content $body = '<html><head><style media="all" type="text/css">.table{background-color:#d8f0f8; cellpadding:3; cellspacing:10; border:10; width:625; bordercolor:#d8f0f8; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; padding:5;} .field{margin-left: 5px; margin-right:5px; padding:8px;}</style></head><body>'; $body .= '<table class="table"> <tr> <td colspan="5"> <h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 10px;">Cleaner Details</h2> </td></tr> <tr> <td></td> <td width="50%" >NAME:</td> <td></td> <td width="50%" >DATE OF BIRTH:</td> <td></td> </tr> <tr class="input"> <td></td> <td bgcolor="#FFFFFF" bordercolor="#666666" class="field">' . strip_tags($_POST['firstname']) . ' ' . strip_tags($_POST['surname']) . '</td> <td></td> <td bgcolor="#FFFFFF" bordercolor="#666666" class="field">' . strip_tags($_POST['dob_dd']) . '/' . strip_tags($_POST['dob_mm']) . '/' . strip_tags($_POST['dob_yyyy']) . '</td> <td></td> </tr> <tr class="field"> <td></td> <td>ADDRESS:</td> <td></td> <td>TELEPHONE:</td> <td></td> </tr> <tr class="input"> <td></td> <td rowspan="3" bgcolor="#FFFFFF" bordercolor="#666666" class="field">' . strip_tags($_POST['address']) . ' ' . strip_tags($_POST['postcodep1']) . ' ' . strip_tags($_POST['postcodep2']) . '</td> <td></td> <td bgcolor="#FFFFFF" bordercolor="#666666" class="field">' . strip_tags($_POST['telephone']) . '</td> <td></td> </tr> <tr class="input"> <td></td> <td></td> <td>MOBILE:</td> <td></td> </tr> <tr class="input"> <td></td> <td></td> <td bgcolor="#FFFFFF" bordercolor="#666666" class="field">' . strip_tags($_POST['mobile']) . '</td> <td></td> </tr> <tr > <td></td> <td colspan=3>EMAIL:</td> <td></td> </tr> <tr > <td></td> <td colspan=3 bgcolor=#FFFFFF bordercolor=#666666 class="field">' . strip_tags($_POST['email']) . '</td> <td></td> </tr> <tr> <td colspan=5><h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 5px; padding-top: 10px;">EMERGENCY CONTACT INFORMATION</h2></td> </tr> <tr> <td colspan=5 class="field"><hr size=1 /></td> </tr> <tr> <td></td> <td >NAME:</td> <td></td> <td >TELEPHONE:</td> <td></td> </tr> <tr > <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 class="field">' . strip_tags($_POST['nextkinname']) . '</td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 class="field">' . strip_tags($_POST['nextkintel']) . '</td> <td></td> </tr> <tr> <td colspan=5><h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 5px; padding-top: 10px;">EXPERIENCE</h2></td> </tr> <tr> <td colspan=5><hr size=1 /></td> </tr> <tr> <td></td> <td colspan="3" bgcolor=#FFFFFF bordercolor=#666666 class="field">' . strip_tags($_POST['experience']) . '</td> <td></td> </tr> <tr> <td></td> <td>CLEANERS RATE:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 class="field">' . strip_tags($_POST['rate']) . ' ' . strip_tags($_POST['rate_specific']) . '</td> <td></td> </tr> <tr> <td colspan=5><hr size=1 /></td> </tr> <tr> <td colspan=5><h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 5px; padding-top: 10px;">AVAILABILITY</h2></td> </tr> <tr> <td></td> <td >WEEKDAYS:</td> <td></td> <td >SPECIFIC REQUIREMENTS:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top >Monday: ' . strip_tags($_POST['days_mon']) . '<br /> Tuesday: ' . strip_tags($_POST['days_tue']) . '<br /> Wednesday: ' . strip_tags($_POST['days_wed']) . '<br /> Thursday: ' . strip_tags($_POST['days_thu']) . '<br /> Friday: ' . strip_tags($_POST['days_fri']) . '<br /> Saturday: ' . strip_tags($_POST['days_sat']) . '<br /> Sunday: ' . strip_tags($_POST['days_sun']) . '<br /> <br /> I am available on the above days in the:<br /> <br /> Morning: ' . strip_tags($_POST['availability_am']) . '<br /> Afternoon: ' . strip_tags($_POST['availability_pm']) . '<br /> All Day: ' . strip_tags($_POST['availability_allday']) . '<br /> </td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['availability_requirements']) . '</td> <td></td> </tr> <tr> <td colspan=5><hr size=1 /></td> </tr> <tr> <td colspan=5><h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 5px; padding-top: 10px;">REFERENCES</h2></td> </tr> <tr> <td></td> <td><b>EMPLOYER REFERENCE</b></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td>NAME:</td> <td></td> <td>COMPANY:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['employrefname']) . '</td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['employrefcomp']) . '</td> <td></td> </tr> <tr> <td></td> <td>ADDRESS:</td> <td></td> <td>TELEPHONE:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['employrefadd']) . '</td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['employreftel']) . '</td> <td></td> </tr> <tr> <td></td> <td><b>PERSONAL REFERENCE</b></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td>NAME:</td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['persrefname']) . '</td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td>ADDRESS:</td> <td></td> <td>TELEPHONE:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['persrefadd']) . '</td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top>' . strip_tags($_POST['persreftel']) . '</td> <td></td> </tr> <tr> <td colspan=5><hr size=1 /></td> </tr> <tr> <td colspan=5><h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; margin: 0; text-transform: uppercase; padding-bottom: 5px; padding-top: 10px;">OTHER INFORMATION</h2></td> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top> Police Check Complete: ' . strip_tags($_POST['police_check']) . '<br /> Criminal Convictions: ' . strip_tags($_POST['criminal']) . ' ' . strip_tags($_POST['criminal_details']) . '<br /> Right to Work: ' . strip_tags($_POST['right2work']) . '<br /> Not Applicable: ' . strip_tags($_POST['right2workna']) . '<br /> Worked in the UK: ' . strip_tags($_POST['howlongworkuk']) . '<br /> </td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top> Allergies: ' . strip_tags($_POST['allergy']) . ' ' . strip_tags($_POST['allergy_details']) . '<br /> Drive? ' . strip_tags($_POST['drive']) . '<br /> Car? ' . strip_tags($_POST['car']) . ' </td> <td></td> </tr> <tr> <td></td> <td>SIGNED BY CLEANER:</td> <td></td> <td>DATE:</td> <td></td> </tr> <tr> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top> X </td> <td></td> <td bgcolor=#FFFFFF bordercolor=#666666 valign=top> </td> <td></td> </tr> </tr> <tr><td></td><td></td><td></td></tr> </table>'; $body .= "</body></html>"; // Upload Attachments for($i=0;$i<count($_FILES["fileAttach"]["name"]);$i++) { if($_FILES["fileAttach"]["name"][$i] != "") { $mailheader .= $body ."\n\n"; $FilesName = $_FILES["fileAttach"]["name"][$i]; $Content = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"][$i]))); $mailheader .= "--".$strSid."\n"; $mailheader .= "Content-Type: application/octet-stream; name=\"".$FilesName."\"\n"; $mailheader .= "Content-Transfer-Encoding: base64\n"; $mailheader .= "Content-Disposition: attachment; filename=\"".$FilesName."\"\n\n"; $mailheader .= $Content."\n\n"; } } // End of Email Content > Display Message echo "Thank you. Your application was submitted to us successly. We review all applications carefully and we may contact you shortly."; // Attempt to Send Email mail($to, $subject, $body, $mailheader); } else { echo "Application Failed. Unfortunatley, there was a problem with your application and it was not submitted. Please try again later or alternativley please contact us."; } ?> Any help would be much appreicated. Thanks guys! Sam Quote Link to comment https://forums.phpfreaks.com/topic/247057-file-attachment-php-mail/ Share on other sites More sharing options...
marcelobm Posted September 13, 2011 Share Posted September 13, 2011 If you are having problems sending the email I strongly recommend you to use swiftmailer, it's a strong class for sending mails http://swiftmailer.org/ Quote Link to comment https://forums.phpfreaks.com/topic/247057-file-attachment-php-mail/#findComment-1268767 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.