Walter Wirtl: Variablenzuweisung für Formmailer

Hallo Forum, ich verzweifle an folgender Aufgabe.
Mit
<input type="hidden" name="recipient" value="info@domain1.de,info@domain2.de">
wird eine Mail über Formmailer aus Formulardaten an die beiden Mailadressen gesendet. Das funktioniert prima.

Nun möchte ich den Versand so gestalten, dass die Formulardaten an
"info@domain1.de" und parallel dazu an eine Mailadresse, die aus der Formularfeldeingabe mit dem Feldnamen "email" ausgelesen wird.

Es sind meine ersten JS-Gehversuche. Wäre für kpl. Syntax dankbar.
Walter

  1. Sali

    mit

    function irgendwas(){

    var adresse;

    adresse = window.document.formularname.feldimailadresse.value;

    }

    soltest du den die 2 e-mailadresse in die Variable adresse kriegen.

    Wenn du anschliessend in die funktion noch alert( adresse ); schreibst, wird eine Meldung mit dem Ihnalt der Variable adresse gezeigt.

    anstatt bei dem Button abschicken oder was auch immer das Formular abzuschicken, gehst du dort in die funktion irgendwas.

    Wie man aber per javascript das Formular dann wirklich auch abschickt, weiss ich leider im Moment noch nicht.

    Wenn ich genügend Zeit habe (ist schwierig, ich arbeite noch) werde ich es noch nachliefern

    Grüsse aus Luzern

  2. Hallo Walter,

    <input type="hidden" name="recipient" value="info@domain1.de,info@domain2.de">
    wird eine Mail über Formmailer aus Formulardaten an die beiden Mailadressen gesendet. Das funktioniert prima.

    Schön. Mit welcher Technik? Mit JavaScript jedenfalls nicht ;-)

    Nun möchte ich den Versand so gestalten, dass die Formulardaten an "info@domain1.de" und parallel dazu an eine Mailadresse, die aus der Formularfeldeingabe mit dem Feldnamen "email" ausgelesen wird.

    Das ist äußerst gefährlich, denn so können Spammer dein E-Mail Formular missbrauchen.

    Es sind meine ersten JS-Gehversuche. Wäre für kpl. Syntax dankbar.

    Wie gesagt, meiner Meinung nach ist ein sicherer Mailversand nur über eine serverseitige Technik möglich. Um dir hier weiterhelfen zu können, müsstest du schon preisgeben, wie du den Mailversand organisiert hast.

    Grüße
    Torsten

    1. Hallo Torsten, chogle und Forum!
      Zunächst ein gutes Neues Jahr und schon vorab vielen Dank für die Hilfe. Die Problemseite steht unter http://www.nawus.de/temp.html

      Es geht wie gesagt darum, die Formularfeld-Eingabe in -email- als zweite Adresse in "recipient" reinzukriegen, damit die Formulardaten an den Absender und Empfänger der Mail versendet werden.

      Danke für jeden Tip!
      Walter

      Hallo Walter,

      <input type="hidden" name="recipient" value="info@domain1.de,info@domain2.de">
      wird eine Mail über Formmailer aus Formulardaten an die beiden Mailadressen gesendet. Das funktioniert prima.

      Schön. Mit welcher Technik? Mit JavaScript jedenfalls nicht ;-)

      Nun möchte ich den Versand so gestalten, dass die Formulardaten an "info@domain1.de" und parallel dazu an eine Mailadresse, die aus der Formularfeldeingabe mit dem Feldnamen "email" ausgelesen wird.

      Das ist äußerst gefährlich, denn so können Spammer dein E-Mail Formular missbrauchen.

      Es sind meine ersten JS-Gehversuche. Wäre für kpl. Syntax dankbar.

      Wie gesagt, meiner Meinung nach ist ein sicherer Mailversand nur über eine serverseitige Technik möglich. Um dir hier weiterhelfen zu können, müsstest du schon preisgeben, wie du den Mailversand organisiert hast.

      Grüße
      Torsten

      1. Hallo Walter,

        kleiner Service des Hauses (siehe </faq/#Q-19>):

        Die Problemseite steht unter http://www.nawus.de/temp.html

        Das was relevant ist, sind diese Codezeilen:

        <form name="calcform" action="http://www.formmaildomain.de/cgi-bin/SendOrder.pl" method="POST">
          <input type="hidden" name="recipient" value="info@domain.de,info@ADRESSE_aus_der_eingabe_FORMULARFELD_email.de">

        Da es sich offenbar um einen externen Formmailer handelt, kannst du leider am Script selber wohl nichts ändern, was nach meiner Meinung aber wahrscheinlich erforderlich sein dürfte.

        Es geht wie gesagt darum, die Formularfeld-Eingabe in -email- als zweite Adresse in "recipient" reinzukriegen, damit die Formulardaten an den Absender und Empfänger der Mail versendet werden.

        So, wie der Code jetzt aussieht, wird die E-Mail gar nicht an das Script übergeben. Definiere für die E-Mail ein Eingabefeld, wie du es auch für die übrigen Adressdaten getan hast, dann wird der Inhalt des Feldes an das Script mit übergeben. Ob dein Formmailer-Anbieter das unterstützt und wenn ja wie genau der Name des Inputfeldes lauten muss, kannst du nur beim Anbieter erfragen. Solltest du den Formmailer selber programmiert haben, weißt du ja selber, wie die Formulardaten in deinem Script ausgewertet werden. Füge dann einfach noch die Headerzeile "Cc: $email_des_kunden\n" ein.

        Alternativ kannst du mit Hilfe von Javascript natürlich auch den Value des input mit Namen "recipient" überschreiben. Dazu könntest du beim Übermitteln des Formulares, also "onSubmit", eine JS-Funktion aufrufen, die genau das tut:

        http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onsubmit

        Wie du den Wert von input-Feldern ändern kannst, findest du hier:

        http://selfhtml.teamone.de/javascript/objekte/elements.htm#value

        Versuch dich mal dran und frage im Misserfolgsfall einfach hier nochmal nach.

        Grüße
        Torsten

  3. Danke für die Tipps. Haben das Problem nicht im Eigentlichen getroffen. Die Lösung im Nachhinein ganz einfach:

    document.calcform.recipient.value = (document.calcform.email.value)+","+"eigene@mailadresse.de";
    // wobei email die Variable mit dem Inhalt der Mailadresse des Absenders ist - "recipient" sollte an das Formmailer-cgi übergeben werden.
    Dann ging's nur noch um das Einlesen der Variable "email" - hier die Lösung:
    <input type="text" name="email" onchange="calculate">