Shorty: Frage zum Einfacher Form-Mailer?

Hallo ich habe auf meine Homen Einfachen Form-Mailer eingebaut der funktioniert auch super , nun habe ich dazu eine Frage und zwar steht dort:

--> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";

Nun steht in der Mail die bei mir ankommt aber z.b.web18@server4you.de das macht sich nicht so gut , kann man das ändern das die Mail adresse von dem Übernommen wird der das Formular abgeschikt hat und wenn ja würde mir bitte jemand sagen wie?

Gruss

  1. Hallo,

    Das kannst du in den Headern deiner Mail festlegen:

    From: rth@bieberdorf.edu (R.T. Hood)
        To: tmh@immense-isp.com
        Date: Tue, Mar 18 1997 14:36:14 PST
        X-Mailer: Loris v2.32
        Subject: Lunch today?

    Wie du diese vor deine Mail hängst kommt darauf an welche Programmiersprache du benutzt.

    Grüße
    Jeena Paradies

    1. Ich habe die Hompage mit normalen html erstellt und du meinst das in den html dateien in den <head></head> bereich rein machen oder?

      Wie ungefähr müsste der eintrag da aussehen?

      Gruss

      1. Hallo,

        Ich habe die Hompage mit normalen html erstellt

        _Das_ geht technisch nicht. Dazu brauchst du ja eine Programmiersprache, mit der du dann die E-Mail an Sendmail übergeben kannst welches wiederum die Mail versendet.

        und du meinst das in den html dateien in den <head></head> bereich rein machen oder?

        Nein.

        Wie ungefähr müsste der eintrag da aussehen?

        Ich glaube du musst uns sagen wie dein "Formmailer" aussieht, bzw. bei welchem Provider du das hast oder so.

        Grüße
        Jeena Paradies

        1. Hello,

          Wie ungefähr müsste der eintrag da aussehen?
          Ich glaube du musst uns sagen wie dein "Formmailer" aussieht, bzw. bei welchem Provider du das hast oder so.

          Verstehe ich deine Frage richtig? Ich nehme an, er meint den Einfachen Form-Mailer

          MfG
          Rouven

          --
          -------------------
          Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
          1. Du maskierst Deine Emailadresse einfach. Du schreibst nicht

            $mailto="meinname@domain.de";

            sondern "MEIN EMAILER meinname@domain";

            Danach in PERL (Es sah nach PERL aus):

            print MAIL "Mailto: $mailto\n";

            ....und dann guck Dir die Email an.

            1. Du maskierst Deine Emailadresse einfach. Du schreibst nicht

              $mailto="meinname@domain.de";

              sondern "MEIN EMAILER meinname@domain";

              Danach in PERL (Es sah nach PERL aus):

              print MAIL "Mailto: $mailto\n";

              ....und dann guck Dir die Email an.

              Hallo es geht ja nicht darum das die Mail ankommt das geht ja , ich möchte wissen wie ich da eine absender Mail angezeigt bekomme?

              1. Hallo es geht ja nicht darum das die Mail ankommt das geht ja , ich möchte wissen wie ich da eine absender Mail angezeigt bekomme?

                Ja mei, ersetz halt $mailto durch $mailfrom... das gilt doch für alle Emailadressen, ganz gleich ob mailto, mailfrom, bcc oder cc...

                Bissl mehr Experimentierfreude, bitte !

  2. --> SMTP-Programm zum Versenden der Mail:
    $Sendmail_Prog = "/usr/lib/sendmail";

    Nun steht in der Mail die bei mir ankommt aber z.b.web18@server4you.de das macht sich nicht so gut , kann man das ändern das die Mail adresse von dem Übernommen wird der das Formular abgeschikt hat und wenn ja würde mir bitte jemand sagen wie?

    Dazu musst du ein extra Feld im Formular einbauen z.b.
    <input type="text" name="from">

    Im Skript hier eine Ergänzung:

    $subject = $query->param('subject');      # ---> E-Mail-Subject  
      
    $from = $query->param('from');
    

    Aber Achtung diese Feld muss genauso gefiltert werden wie das Subjektfeld!!!!

    und im Skript später an dieser Stelle:

    open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";  
    print MAIL "To: $mailto\n";  
    print MAIL "Subject: $subject\n\n";  
    print MAIL "$mailtext\n";  
    close(MAIL);  
    
    

    zwischen Subject und To noch:
    print MAIL "From: $from\n";

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Dazu musst du ein extra Feld im Formular einbauen z.b.
      <input type="text" name="from">

      Aber Achtung diese Feld muss genauso gefiltert werden wie das Subjektfeld!!!!

      Wie genau meinst du das mit dem extra feld , ich habe in dem Formular schon felder drinne?

      Und was genau ist mit gefiltert werden gemeint?

      Sorry ich habe es noch nicht so drauf und bin gewillt zu lernen danke.

      Ja es geht um den einfachen form mailer hier der link dazu:

      http://aktuell.de.selfhtml.org/artikel/cgiperl/form-mail/index.htm

      1. Aber Achtung diese Feld muss genauso gefiltert werden wie das Subjektfeld!!!!

        Wie genau meinst du das mit dem extra feld , ich habe in dem Formular schon felder drinne?

        Aber keines für den Absender, oder?

        Und was genau ist mit gefiltert werden gemeint?

        genau so wie das $subjekt, die Zeile steht direkt unter denen die ich kopiert hatte.

        Ja es geht um den einfachen form mailer hier der link dazu:

        http://aktuell.de.selfhtml.org/artikel/cgiperl/form-mail/index.htm

        ich weiß.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Aber Achtung diese Feld muss genauso gefiltert werden wie das Subjektfeld!!!!

          Wie genau meinst du das mit dem extra feld , ich habe in dem Formular schon felder drinne?

          Aber keines für den Absender, oder?

          »»

          Das ist ja der Code für das Subjektfeld <input type="hidden" name="subject" value="TMS-Transporte Fehlermelder"> und darunter habe ich <input type="hidden" name="From" value="TMS-Transporte Fehlermelder"> eingetragen , ist doch richtig oder?

          Und was genau ist mit gefiltert werden gemeint?

          genau so wie das $subjekt, die Zeile steht direkt unter denen die ich kopiert hatte.

          Ich habe es nun so $from = $query->param('from');            # ---> E-Mail-From unter dem $subject = $query->param('subject');      # ---> E-Mail-Subject sieht dann also so aus:

          $subject = $query->param('subject');      # ---> E-Mail-Subject
          $from = $query->param('from');            # ---> E-Mail-From

          Ich denke mal das war richtig oder?

          Und unten bei E-Mail versendet habe ich das so drinne?

          print MAIL "From: Kontakt Formular Anfrage allgemein@tms-transporte.net\n";
          print MAIL "Subject: $subject\n\n";

          Das kann aber so nicht richtig sein , weil ja dann die Absende adresse genommen wird die ich da angegeben habe , ich möchte es aber so haben das die genommen wird die der absender benutzt?

          1. Aber keines für den Absender, oder?
            »»

            Das ist ja der Code für das Subjektfeld <input type="hidden" name="subject" value="TMS-Transporte Fehlermelder"> und darunter habe ich <input type="hidden" name="From" value="TMS-Transporte Fehlermelder"> eingetragen , ist doch richtig oder?

            Das sind versteckte Felder, wie soll da der Absender seine Mailadresse eintragen?

            Ich habe es nun so $from = $query->param('from');            # ---> E-Mail-From unter dem $subject = $query->param('subject');      # ---> E-Mail-Subject sieht dann also so aus:

            $subject = $query->param('subject');      # ---> E-Mail-Subject
            $from = $query->param('from');            # ---> E-Mail-From

            Ich denke mal das war richtig oder?

            Nein, einmal gibt es in deinem Formular kein Feld mit dem Namen 'from' und dann ist die Filter Funktion _unterhalb_ des bestehenden Codes in den Zeilen.

            Und unten bei E-Mail versendet habe ich das so drinne?

            print MAIL "From: Kontakt Formular Anfrage allgemein@tms-transporte.net\n";
            print MAIL "Subject: $subject\n\n";

            Das kann aber so nicht richtig sein , weil ja dann die Absende adresse genommen wird die ich da angegeben habe , ich möchte es aber so haben das die genommen wird die der absender benutzt?

            Evtl. gehst du davon aus, dass die irgendwie automatisch ermittelt werden kann, das ist nicht der Fall. Ansonsten ist das hier richtig.

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. »» »» Das ist ja der Code für das Subjektfeld <input type="hidden" name="subject" value="TMS-Transporte Fehlermelder"> und darunter habe ich <input type="hidden" name="From" value="TMS-Transporte Fehlermelder"> eingetragen , ist doch richtig oder?

              Das sind versteckte Felder, wie soll da der Absender seine Mailadresse eintragen?

              Das heist also hierfür geht das nicht und muss so bleiben?

              Ich habe es nun so $from = $query->param('from');            # ---> E-Mail-From unter dem $subject = $query->param('subject');      # ---> E-Mail-Subject sieht dann also so aus:

              $subject = $query->param('subject');      # ---> E-Mail-Subject
              $from = $query->param('from');            # ---> E-Mail-From

              Ich denke mal das war richtig oder?

              Nein, einmal gibt es in deinem Formular kein Feld mit dem Namen 'from' und dann ist die Filter Funktion _unterhalb_ des bestehenden Codes in den Zeilen.

              Wie das verstehe ich nicht , was ist genau falsch und wie wäre es richtig?

              Und unten bei E-Mail versendet habe ich das so drinne?

              print MAIL "From: Kontakt Formular Anfrage allgemein@tms-transporte.net\n";
              print MAIL "Subject: $subject\n\n";

              Das kann aber so nicht richtig sein , weil ja dann die Absende adresse genommen wird die ich da angegeben habe , ich möchte es aber so haben das die genommen wird die der absender benutzt?

              Evtl. gehst du davon aus, dass die irgendwie automatisch ermittelt werden kann, das ist nicht der Fall. Ansonsten ist das hier richtig.

              Struppi.

              Ja bin ich weill wenn man so ein Formular mit reinem HTML macht man es ja so machen kann das das Standard Mail Programm erkannt und benutzt wird?

              1. Das sind versteckte Felder, wie soll da der Absender seine Mailadresse eintragen?

                Das heist also hierfür geht das nicht und muss so bleiben?

                Nein es geht nicht, ob es so bleiben muss weiß ich nicht, kommt drauf an, was du mit den Feldern machst und ob du die brauchst.

                Ich denke mal das war richtig oder?

                Nein, einmal gibt es in deinem Formular kein Feld mit dem Namen 'from' und dann ist die Filter Funktion _unterhalb_ des bestehenden Codes in den Zeilen.

                Wie das verstehe ich nicht , was ist genau falsch und wie wäre es richtig?

                Die Zeile:

                -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

                #             VERHINDERT sonst möglichen MISSBRAUCH des Skripts
                $subject =~ s/\s/ /g;

                filtert das Subjekt auf "böse" Zeichen und die musst du auch auf dein Fromfeld anwenden!

                Evtl. gehst du davon aus, dass die irgendwie automatisch ermittelt werden kann, das ist nicht der Fall. Ansonsten ist das hier richtig.

                Ja bin ich weill wenn man so ein Formular mit reinem HTML macht man es ja so machen kann das das Standard Mail Programm erkannt und benutzt wird?

                Nein!

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Ah ich glaube jetzt habe ich es verstand ich muss das also noch genau so unter dem setzen damit es dann so aussieht?:

                  -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

                  #             VERHINDERT sonst möglichen MISSBRAUCH des Skripts
                  $subject =~ s/\s/ /g;
                  $from =~ s/\s/ /g;

                  Dann ist alles richtig oder?

                  1. Ah ich glaube jetzt habe ich es verstand ich muss das also noch genau so unter dem setzen damit es dann so aussieht?:

                    -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

                    #             VERHINDERT sonst möglichen MISSBRAUCH des Skripts
                    $subject =~ s/\s/ /g;
                    $from =~ s/\s/ /g;

                    Dann ist alles richtig oder?

                    Ja inkl $from = $cgi->param('from'); und einem Textfeld in dem Formular.

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
                    1. Ah ich glaube jetzt habe ich es verstand ich muss das also noch genau so unter dem setzen damit es dann so aussieht?:

                      -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

                      #             VERHINDERT sonst möglichen MISSBRAUCH des Skripts
                      $subject =~ s/\s/ /g;
                      $from =~ s/\s/ /g;

                      Dann ist alles richtig oder?

                      Ja inkl $from = $cgi->param('from'); und einem Textfeld in dem Formular.

                      Struppi.

                      Das $from = $cgi->param('from'); muss/soll unter das $subject = $query->param('subject');      # ---> E-Mail-Subject richtig?

                      Wie müsste der richtige eintrag für das Textfeld in dem Formular den aussehen?

                      1. Das $from = $cgi->param('from'); muss/soll unter das $subject = $query->param('subject');      # ---> E-Mail-Subject richtig?

                        wichitg ist nur das vor (oberhalb) dem Filtern steht.

                        Wie müsste der richtige eintrag für das Textfeld in dem Formular den aussehen?

                        Das was der User da einträgt.

                        Struppi.

                        --
                        Javascript ist toll (Perl auch!)
                        1. Das $from = $cgi->param('from'); muss/soll unter das $subject = $query->param('subject');      # ---> E-Mail-Subject richtig?

                          wichitg ist nur das vor (oberhalb) dem Filtern steht.

                          Wie müsste der richtige eintrag für das Textfeld in dem Formular den aussehen?

                          Das was der User da einträgt.

                          Struppi.

                          Also dann so?

                          $query->param('subject');      # ---> E-Mail-Subject
                          $from = $cgi->param('from');
                          $from ->param('from');

                          Das ist kein feld wo man etwas eingeben muss , das habe ich oben doch schon als beispiel gesagt , das habe ich unter dem vom Subjekt gemacht in der HTML Datei?