firstrincewind: formular an email aus inputfeld senden

Hallo,
 ich hab diverse formulare und die sollen an eine email gesendet werden, die der nutzer in ein inputfeld eingibt. scripte mit fester email hab ich schon viele gefunden aber noch keins welches das inputfeld ausliest als mailempfänger.
Ich such ein möglichst simples script was nichts tut ausser alle inputfelder des formulars abschickt.

  1. Liebe(r) firstrincewind,

    ich hab diverse formulare und die sollen an eine email gesendet werden, die der nutzer in ein inputfeld eingibt.

    so baut man SPAM-Schleudern. Noch nicht gewusst?

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Liebe(r) firstrincewind,

      »»  ich hab diverse formulare und die sollen an eine email gesendet werden, die der nutzer in ein inputfeld eingibt.

      so baut man SPAM-Schleudern. Noch nicht gewusst?

      Liebe Grüße,

      Felix Riesterer.

      Ja, deshalb haben die formulare lange namen und im ordner ist ne robots.txt, nicht das beste aber muss reichen.
      Die formulare sind Berechnungen und die Ergebnisse müssen ja dem user irgendwie zukommen, da ist eine email am einfachsten.

      1. Liebe(r) firstrincewind,

        OK. Den Mailtext kann man also nicht ebenfalls verfassen? Das ist (zumindest mir) aus Deinem oberen Posting nicht ersichtlich gewesen.

        deshalb haben die formulare lange namen und im ordner ist ne robots.txt,
        nicht das beste aber muss reichen.

        Es ist nicht nur "nicht das beste", es ist völlig sinnfrei. Aber widmen wir uns der Aufgabe.

        Du musst unbedingt einen Session-Mechanismus nutzen, damit Du die per Mail zu verschickenden Daten nicht im Formular bereithalten musst. Stehen die zu verschickenden Daten im Formular, dann kann man dieses missbrauchen (sprich eine SPAM-Mail schreiben und abschicken). Über die Session kannst Du die Daten in Deiner Session-Variablen behalten, sodass im Browser tatsächlich einzig und allein die Mailadresse des Empfängers einzutragen ist.

        Serverseitig kannst Du dann mit der abgeschickten Mailadresse eine Mail verschicken, in deren Mailtext Du die in der Session bereitgehaltenen Inhalte hineinschreibst.

        Der Artikel einfacher PHP-Formmailer sollte Dir die notwendigen Grundlagen vermitteln. Du musst nur darauf achten, dass Du die Mailadresse _vor_ dem ersten Komma oder Zeilenumbruch (\n) garantiert abschneidest, da man Dir sonst doch etwas unterjubeln kann!

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Der Artikel einfacher PHP-Formmailer sollte Dir die notwendigen Grundlagen vermitteln. Du musst nur darauf achten, dass Du die Mailadresse _vor_ dem ersten Komma oder Zeilenumbruch (\n) garantiert abschneidest, da man Dir sonst doch etwas unterjubeln kann!

          Liebe Grüße,

          Felix Riesterer.

          Hallo,
          das ist sogar das script mit dem ich schon länger experimentiere, es klappt einfach nicht.
          die mail wird abgeschickt aber kommt nie an.
          Die varübergabe aus dem  inputfeld Mail sollte eigentlich stimmen:

          $mail2 = $_POST['Mail'];

          $strEmpfaenger = '$mail2';

          Setze ich bei $stempfänger direkt eine mail ein funktioniert es.

          Grüße,

          1. Hallo,

            die mail wird abgeschickt aber kommt nie an.

            nein, sie wird nicht abgeschickt. Das kannst du mit PHP nämlich gar nicht nachvollziehen. Sie wird nur an ein Programm übergeben, das den Versand veranlasst.

            Die varübergabe aus dem  inputfeld Mail sollte eigentlich stimmen:
            $mail2 = $_POST['Mail'];
            $strEmpfaenger = '$mail2';

            Nein, das wird nichts, denn $mail2 ist keine gültige Mailadresse.
            Informiere dich bitte über den Umgang mit Strings in PHP, insbesondere über den Unterschied zwischen einfachen und doppelten Anführungszeichen.

            Abgesehen davon ist es hier mal wieder Unsinn, eine Stringvariable nochmal in einen String einbetten zu wollen. Das sieht man so oft, davon wird es aber nicht besser.

            Setze ich bei $stempfänger direkt eine mail ein funktioniert es.

            Siehste! ;-)

            Ciao,
             Martin

            --
            Die letzten Worte des Privatdetektivs:
            Jetzt wird es mir klar: SIE sind der Mörder!
          2. Liebe(r) firstrincewind,

            $strEmpfaenger = '$mail2';

            was soll das? Warum die Anführungszeichen? Und schrieb ich nicht, dass Du die Mailadresse vor dem ersten Komma oder Zeilenumbruch abschneiden solltest?!

            Übrigens möchtest Du folgenden Unterschied recherchieren:

            $strEmpfaenger = '$mail2';  
            $strEmpfaenger = "$mail2";
            

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
            1. Liebe(r) firstrincewind,

              »» $strEmpfaenger = '$mail2';

              was soll das? Warum die Anführungszeichen? Und schrieb ich nicht, dass Du die Mailadresse vor dem ersten Komma oder Zeilenumbruch abschneiden solltest?!

              Übrigens möchtest Du folgenden Unterschied recherchieren:

              $strEmpfaenger = '$mail2';

              $strEmpfaenger = "$mail2";

              
              >   
              > Liebe Grüße,  
              >   
              > Felix Riesterer.  
                
              Hallo,  
              bei den Anführungszeichen lag der Fehler, schätze da hab ich fehlerhaften code kopiert- bin php Anfänger. Nu klappts; Danke.  
                
              Grüße,  
              
              
              1. Mahlzeit firstrincewind,

                »» Übrigens möchtest Du folgenden Unterschied recherchieren:
                »»
                »» ~~~php

                $strEmpfaenger = '$mail2';

                »» $strEmpfaenger = "$mail2";

                
                >   
                > bei den Anführungszeichen lag der Fehler, schätze da hab ich fehlerhaften code kopiert- bin php Anfänger. Nu klappts; Danke.  
                  
                Ich behaupte, dass es weiterhin nicht "klappt".  
                  
                - Warum überhaupt das Umkopieren von $\_POST['Mail'] in $mail2?  
                  
                - Warum überhaupt das Umkopieren von $mail2 in $strEmpfaenger?  
                  
                - Warum überhaupt die Einbettung von $mail2 in einen String bei diesem sinnfreien Umkopieren?  
                  
                - Warum überprüfst Du nicht - [wie Felix anmerkte](https://forum.selfhtml.org/?t=186356&m=1237573) - den Inhalt der angegebenen Email-Adresse und sorgst dafür, dass Dir hier keine unerwünschten Header-Zeilen übergeben werden? Merke: ALL INPUT IS EVIL! ... Traue niemals irgendeiner Benutzereingabe!  
                  
                - Warum reagierst und antwortest Du nicht auf Fragen?  
                  
                - Warum hast Du kein Interesse, offensichtliche Fehler, Probleme und Sicherheitslücken in Deinem Code zu beheben?  
                  
                  
                MfG,  
                EKKi  
                
                -- 
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|