xox Posted January 5, 2011 Share Posted January 5, 2011 Hello, I'm having problems with creating send mail form, what it does it's just reload on "submit" click... I'm working on this for the last hour and still can't figure out what I'm missing. I don't get any error not even confirmation of successful or unsuccessful send... Here's the code <html> <body> <?php echo'<form enctype="multipart/form-data" method="post">'; echo'<form method="post" action="sendmail">'; echo'<input type = "text" value ="'.$email_to.'" name = "user_mail">'; echo '<input type="submit" name="Submit" value="Submit">'; echo '</form>'; ?> <?php elseif ($_GET['send']=='sendmail'):?> <?php $fileatt = "testfile.pdf"; // Path to the file $fileatt_type = "application/pdf"; // File Type $fileatt_name = "testfile.pdf"; // Filename that will be used for the file as the attachment $email_to = $user_mail; //send to $email_from = "dont@have.it"; // Who the email is from $email_subject = "Your attached file"; // The Subject of the email $email_message = "Thanks for visiting mysite.com! Here is your free file.<br>"; $email_message .= "Thanks for visiting.<br>"; // Message that the email has in it $email_to = $_POST['email']; // Who the email is to $headers = "From: ".$email_from; $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}\""; $email_message .= "Here's your file .\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_message .= "\n\n"; $data = chunk_split(base64_encode($data)); $email_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"; $ok = @mail($email_to, $email_subject, $email_message, $headers); if($ok) { echo "<font face=verdana size=2><center>Mail was sent.</center>"; } else { die("Sorry but the email could not be sent. Please go back and try again!"); } ?> <?php endif;?> </html> </body> Quote Link to comment Share on other sites More sharing options...
volatileboy Posted January 6, 2011 Share Posted January 6, 2011 Well for starters your form tag need an action parameter, this is why the page is just reloading Quote Link to comment Share on other sites More sharing options...
Zurev Posted January 6, 2011 Share Posted January 6, 2011 Well for starters your form tag need an action parameter, this is why the page is just reloading Yeah man, throw in the action attribute as blank or a pound symbol even. Quote Link to comment 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.