Hello folks,
I am having a problem with the email script. I have tried to solve it for days, but it has been there.
With the email script , that i have written, the email lands up fine in the inbox but .. the only problem comes when an attachment is sent with the email.
If the attachment is small, it works fine.
But if the attachment is big , it never lands up in the mail box.
I have checked with my ISP , they say that the attachment limit is 2MB, but this script is not able to send attachments with few 100 KB's also.
Here is the code for you to review and point out the mistake:
<?
function send_mail($myname, $myemail, $contactemail, $subject, $message, $attachtype, $type, $topic) {
$fileatt = $FILES['fileatt']['tmp_name'];
$fileatt_type = $FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
//Finding whether the attachment type is Abstract or Paper
if ($type=="A")
$stype="Abstract";
elseif ($type=="P")
$stype="Paper";
//Checking the topic
switch ($topic)
{
case 1:
$stopic="Optoelectronics(including IR & PV)";
break;
case 2:
$stopic="VLSI & ULSI Technologies";
break;
case 3:
$stopic="Modelling and Simulation";
break;
case 4:
$stopic="Nano-Technology";
break;
case 5:
$stopic="High Frequency Devices";
break;
case 6:
$stopic="Growth & Characterization";
break;
case 7:
$stopic="Sensors & MEMS";
break;
case 8:
$stopic="Organic Semiconductors";
break;
case 9:
$stopic="Emerging Technoogies";
break;
}
//Adding the Name and the Email of the Sender in the email Message
$message = "Name:- " . $myname . "\n" . "Email:- " . $myemail . "\n" . "Attachment Type & Version:- " . $attachtype . "\n". "Type:- ". $stype . "\n". "Topic:- " . $stopic . "\n\n" . $message ;
//Giving a unique subject to all the mails.
$today = date("F j, Y, g:i:s a") ;
$subject = $subject ." :- " . $today;
$headers = "From: email@mydomain.com";
if (is_uploaded_file($fileatt)) {
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$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}\"";
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
$data = chunk_split(base64_encode($data));
$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";
}
$message = StripSlashes($message);
return(mail($contactemail, $subject, $message, $headers));
}// End of the function send-mail
$sendername=$POST['txtname'];
$senderemail=$POST['txtemail'];
$sendersubject=$POST['txtsubject'];
$sendermessage=$POST['txtmessage'];
$senderattachtype=$POST['txtatttype'];
$sendertype=$POST['rdtype']; // Radio Button Showing Abstract or Paper
$sendertopic=$_POST['ddltopic'];
$sendercontactemail="abc@gmail.com";
if (send_mail($sendername, $senderemail, $sendercontactemail, $sendersubject, $sendermessage,$senderattachtype,$sendertype,$sendertopic)) {
print "SENT!";
} else {
print "FAILED!";
}
?>