code for sending mail with attachment

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
rrn
Forum Commoner
Posts: 46
Joined: Wed Apr 15, 2009 7:54 am

code for sending mail with attachment

Post by rrn »

in my website there is a form for entering details and attaching resume.

code is given below

Code: Select all

$fileatt =/.'resume/'.$_FILES['userfile']['name'] ; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name = "CV".$_POST['name'].".doc"; // Filename that will be used for the file as the attachment
$email_from = $_POST['name']." ".$_POST['email']; // Who the email is from
$email_subject = 'Application';
$email_message ='
            <table cellpadding="3" cellspacing="1" border="0" width="600">
                                                                                     
                                                                                      <tr>
                    <td width="120">Name</td>
                    <td>'.$_POST[name].'</td>
                </tr>
                <tr>
                    <td width="120">Age</td>
                    <td>'.$_POST[age].'</td>
                </tr>
                <tr>
                    <td width="120">Date of Birth</td>
                    <td>'.$_POST[date].'/'.$_POST[month].'/'.$_POST[year].'</td>
                </tr>
                <tr>
                    <td width="120">Gender</td>
                    <td>'.$_POST[gender].'</td>
                </tr>
                                                                                         <tr>
                    <td width="120">Nationality</td>
                    <td>'.$_POST[nation].'</td>
                </tr>
                <tr>
                    <td width="120">Country of Residence</td>
                    <td>'.$_POST[country].'</td>
                </tr>
                                                                                       <tr>
                    <td width="120">Contact Telephone</td>
                    <td>'.$_POST[phone].'</td>
                </tr>
                                                                                        <tr>
                    <td width="120">Email</td>
                    <td>'.$_POST[email].'</td>
                </tr>
                <tr>
                    <td width="120">Applying For</td>
                    <td>'.$_POST[applyfor].'</td>
                </tr>
                        </table>
                ';
$email_to  = 'abc@xxx.com';
 
//adds the e-mail address of the sender
$headers = "From: ".$_POST[email];
$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=\"utf-8\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";
 
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
 
 
$data = chunk_split(base64_encode($data));
 
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$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);
 
@mail($email_to, $email_subject, $email_message,  $headers);
the code is working fine ,details along with the attachment is received in the mail.
but the problem is , users can only attach word document . if any pdf file or txt file is attached , it is not able to open the file from the mail id.

tried many ways , didnt work.

please helpe to solve this..
any help will be appreciated.
Last edited by Benjamin on Wed May 27, 2009 9:59 am, edited 1 time in total.
Reason: Changed code type from text to php.
rrn
Forum Commoner
Posts: 46
Joined: Wed Apr 15, 2009 7:54 am

Re: code for sending mail with attachment

Post by rrn »

tried changing the code , now its working

but ther's another problem.i am receiving one more attachment along with the real attachment. is there any problem with the code.??
Post Reply