Hi! here is my problem . I'm a psychology student and i'm trying to do a survey on my friends from my YM list . I want to send them forms in their inbox and they will answer back .

My form looks like this :

<form method="post" action="http://mysite.com/feedback.php">
  Question1 <input name="question1" type="text" /><br />
  Question2 <input name="question2" type="text" /><br />
  <input  type="submit" />
</form>

My feedback.php looks like this :

<?php
  $Question1 = $_REQUEST['Question1'] ;
  $Question2 = $_REQUEST['Question2'] ;

  mail( "mymail@gmail.com", "Feedback Form Results",
    $Question1,  $Question2 );
  header( "Location: http://www.mysite.com/thankyou.html" );
?>

Bassically , i'm trying to write a simple code , just something to help me in my study . The purpose of the study is to send this form by email , not post it on a web page (and i want to learn some html). So far , i've managed to make it work , by testing it in a browser .But when i try to test it in an email client , the result from my .php comes back empty . I have observed that , the mail client changes my html code , and removes the " " , and the code of my form looks like this after being introduced in a mail client :

<FORM action=http://mysite.com/feedback.php method=post>Question1 <INPUT name=question1><BR>Question2 <INPUT name=question2><BR><INPUT type=submit value="Submit Query"> </FORM>

How can i stop the mail client from changing my code ? Or how can i improve my code to make this work ?

Recommended Answers

All 3 Replies

Try using newline character "\n" after each line.
But I am not sure whether email client will allow active html in message or not.

I've always found that email clients remove quotes from attribute values and some, like hotmail, actually change the values. The only solution that I've found is to not surround values in quotes. Clients have so many techniques to weed out spam and malicious messages, html emails can be tricky.
Also, the php mail function will work fine with a contact form on your site that submits to an address on your server MX. But if you try to send the mail to a major mail server like hotmail or gmail account, it's probably going to wind up in the junk folder (at best). The mail function lacks SMTP authentication and thus most clients are going to flip it the bird. If your serious about html email, you should start with a class that includes SMTP, like phpmailer.
As for forms in an email, I doubt that will fly with many email clients. Keep the form on the site and send a link to the form through email.

Thank you for your answer. I also have a link to my website form . The pupose of my study is trust . Are they willing to submit a form by email , or within a web page , or not at all , and why would they choose an option or onother . Is a matter of trust , the entire email will contain some confusing data about the sender and the purpose . The only mail client that will receive my mail form will be yahoo , i have enough friends there to conduct the study .

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.