title: Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry
body: <p>The following script sends email using <code>mail</code> function . But i am unable to send an email.Upon clicking <code>submit</code> this gets displayed : </p>
  
  <pre><code>Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in E:\xampp\htdocs\feedback.php on line 19
  mail sent successfully
  </code></pre>
  
  <p><strong>SCRIPT</strong></p>
  
  <pre><code>&lt;?php 
  if( isset( $_REQUEST['email'] ) ) {
      $email = $_REQUEST['email'];
      $subject = $_REQUEST['subject'];
      $message = $_REQUEST['message'];
      mail("me@gmail.com" , $subject , $message , "From:".$email );
      echo "mail sent successfully";
  }  else {
       echo "&lt;form method = 'post' action = 'feedback.php'&gt;
       Email of sender : &lt;input name = 'email' type = 'text' /&gt; &lt;br/&gt;
       Subject : &lt;input name = 'subject' type = 'text'/&gt; &lt;br/&gt;
       Enter your feedback here : &lt;textarea name = 'message' rows = 15 cols = 40 &gt; &lt;/textarea&gt; &lt;br/&gt;
       &lt;input type = 'submit'/&gt;
       &lt;/form&gt;";
     }
  ?&gt;
  </code></pre>
  
  <p><strong>I am using Apache as php server</strong></p>
  
  <p><em>Also tell why we have to write <code>$subject</code> , <code>$message</code> i.e with the <code>$</code> sign in the mail argument , since we have declared <code>$email</code> , <code>$message</code> etc. ,  just above. Why can't we just write message , email , .. without the dollar sign?</em></p>