mike2fast Posted April 1, 2011 Share Posted April 1, 2011 Hi all, My names Mike and i am currently working on a website for my University degree but have encountered a problem when creating an email form. I have the following form below which i have created via a tutorial but it's not working i just dont recieve any emails. I would really appreciate it if someone could take a look at this for me. I must stress i am new to PHP as well. The email form just needs to state who it comes from as well as an email address and subject. code below: <html> <body> <?php if (isset($_REQUEST['email'])) //if "email" is filled out, send email { //send email $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("mike2fast135@hotmail.com", "$subject", $message, "From:" . $email); echo "Thank you for using our mail form"; } else //if "email" is not filled out, display the form { echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> <input type='submit' /> </form>"; } ?> </body> </html> Thanks for any help or guidance. Mike Quote Link to comment Share on other sites More sharing options...
The Letter E Posted April 2, 2011 Share Posted April 2, 2011 Hi all, My names Mike and i am currently working on a website for my University degree but have encountered a problem when creating an email form. I have the following form below which i have created via a tutorial but it's not working i just dont recieve any emails. I would really appreciate it if someone could take a look at this for me. I must stress i am new to PHP as well. The email form just needs to state who it comes from as well as an email address and subject. code below: <html> <body> <?php if (isset($_REQUEST['email'])) //if "email" is filled out, send email { //send email $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("mike2fast135@hotmail.com", "$subject", $message, "From:" . $email); echo "Thank you for using our mail form"; } else //if "email" is not filled out, display the form { echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text' /><br /> Subject: <input name='subject' type='text' /><br /> Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> <input type='submit' /> </form>"; } ?> </body> </html> Thanks for any help or guidance. Mike Hey Mike, You may want to remove the quotes from around $subject(they are unnecessary). You might want to add a check to make sure the email was sent. Assuming it was then you can echo out the message sent dialogue. Here's an example: if(mail($to, $subject, $message, $headers)){ echo 'Your message was sent!'; }else{ echo 'There was an error sending your message...'; } Assuming it passes that test, you may be dealing with the spam catcher on your mail client. This method is very useful. Any function can be placed in an if statement to check for it's successful execution. E Quote Link to comment Share on other sites More sharing options...
dcro2 Posted April 2, 2011 Share Posted April 2, 2011 Is sendmail setup correctly? Is this on your own machine/server or is it on shared hosting? Php has to use a smtp server to send mail succesfully. Also, make sure you check your spam folder since these emails could come from a strange source (from hotmail's point of view). PS: you might want to take out your email from your post. Spambots and whatnot. Quote Link to comment Share on other sites More sharing options...
mike2fast Posted April 2, 2011 Author Share Posted April 2, 2011 Hey guys, The email just does not want to send have you guys got any ideas why? Really frustrating but its so rewarding when it works. Thanks for you help guys 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.