pat1: onlinemail $_POST Problem

Moin,
eins Vorweg, ich bin kein Freak der die Topbegriffe kennt, betrachtet mich als newcommer und redet auch so mit mir.

Ich habe versucht eine Mailfunction zu nutzen, dass Leute nutzen können und dann eine Nachricht aus einer Template.txt Datei zu bekommen. Jetzt habe ich mal in diese Class reingeguckt die Normal für Kontakt ist, habe die aber etwas umgecodet.
Ich schreibe euch hier mal was in der IF Anweisung steht:

if(strpos($_POST['send_mail'],'@', '.') &&...){ //some basic validation

//include class file
  require_once "easyFormMail.class.php";

//create an instance with formdata. using error reporting.
  $mails = new easyFormMail($_POST,send_mail,send_name); //DEMO, replace mail ans name

//set subject
  $mails->setSubject("Betreff");

//use a template file
  $mails->setTemplateFile("template.txt");

//send the e-mail
  $mails->send();

echo '<h3>Hate funktioniert danke</h3>';
  echo 'Email kommt';
 }else{
 echo 'Hat nicht funktioniert';

}

Mir geht es um den Teil:
  $mails = new easyFormMail($_POST,send_mail,send_name); //DEMO, replace mail ans name

Und zwar will ich das er dort den Namen und die Email einfügt die der Besucher meiner Page im Textfield eingegeben hatte. Also Beispiel:

//create an instance with formdata. using error reporting.
  $mails = new easyFormMail($_POST,pat1@my-novatic.de, pat1); //DEMO, replace mail ans name

In dem Code von easyFormMail.class.php wo der ganze Mail vorgang ausgeführt wird habe ich folgendes gefunden:

* EXAMPLE 1:
 * you can submit your form, when the sender_mail and receiver_mail are defined in your form.
 * <code>
 *  require_once "easyFormMail.class.php";
 *  $mail = new easyFormMail($_POST,"admin@somepage.eu","somepage.eu");
 * $mail->send();
 * </code>
 * => note that the second and third paramter of SecureFormmail are optional and used for error-reporting
 *

das habe ich ja schon gemacht, aber ich weis nicht wie ich das aufrufen soll ich bekomme als email immer ne fehlermeldung:

error sending email, receiver not set.

ich kann schon verstehen das der empfänger nicht gesetzt wurde, aber ich hab den doch oben als send_mail , send_name gesetzt.

Mein Formular kann ich auch noch geben:

<form name="form1" action="done.php" method="post">
 <label>Name*</label><br/>
 <input name="send_name" type="text" value="" />
 <br />
 <br />
 <label>PLZ*</label>
 <br/>
 <input name="zip" type="text" value="" />
 <br />
 <br />
 <label>Bundesland*</label><br />

<input name="bl" type="text"/>

<label><br />
   <br />
   Stadt*</label>
   <br />

<input name="city" type="text" value="" />
<br />
      <br />
  </p>
 <label>Email-Addresse*</label><br/>
 <input name="send_mail" type="text" value="" />
 <br /><br /><br />
 <label style="display:block;">Warum willst du diesen Zugang</label>
    <textarea name="message"></textarea>
<br />
 <br />
  <input name="check" type="checkbox" /> Ich bin mit den <a href="rules.php" target="_top">Regeln</a> einverstanden.
    <br />
  <input name="submit" type="submit" value="Register"/>
</form>

Als Beispiel!!!!
Helft mir

  1. Kann mir niemand helfen?

  2. Hello,

    eins Vorweg, ich bin kein Freak der die Topbegriffe kennt, betrachtet mich als newcommer und redet auch so mit mir.

    also gut, dann versuche ich das mal.

    if(strpos($_POST['send_mail'],'@', '.') &&...){ //some basic validation

    was du hier siehst ist der Versuch einen Parameter aus dem Formular zu überprüfen. Es wird davon ausgegangen, dass das Formular als method "post" eingetragen hat - vgl. POST vs. GET.
    Folglich kannst du dir hier abschauen, wie man _prinzipiell_ da dran kommt.

    $mails = new easyFormMail($_POST,send_mail,send_name); //DEMO, replace mail ans name
    <input name="send_name" type="text" value="" />
    <input name="send_mail" type="text" value="" />

    das hier sind jetzt also die interessanten Stellen. Dir ist schon korrekterweise bekannt, wie die Formularelemente heißen, du greifst allerdings nicht darauf zu. PHP ist gerade sehr tolerant und weißt dich offenbar NICHT darauf hin, dass es mit den Angaben "send_mail" und "send_name" rein gar nichts anfangen kann. Du kannst ihm dies abgewöhnen, indem du dein error_reporting entsprechend hoch (E_ALL) setzt - nun solltest du eine Warnung erhalten.
    Verglichen mit oben möchtest du also stattdessen so etwas _ähnliches_ wie $_POST["send_mail"], $_POST["send_name"] stehen haben.
    Ich schreibe bewusst "ähnlich", weil alle externen Daten böse sein können.

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    I will never understand why Germans feel the need to kill trees  --  Arbeitskollege aus UK zum Thema ob eine Dokumentation elektronisch oder auf Papier ausgeliefert wird