Script Email

  • PHP

  • eintracht_mw
  • 1572 Aufrufe 16 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Script Email

    Hallo,

    wahrscheinlich eine ganz einfache Frage für die Profis unter euch.
    Ich möchte auf meiner Homepage ein Kontaktformular erstellen.
    Es sollen folgende Felder enthalten sein:

    Name

    Ansprechpartner

    Email Adresse

    Telefon

    und ein Textfeld zum eintragen einer Nachricht.

    Das habe ich in HTML erstellt.

    Nun fehlt mir noch die passende PhP Datei zum versenden per Email.

    Für tipps oder sogar eine Code wäre ich euch sehr Dankbar.

    Gruß
  • hei hei eintracht_mw,
    poste doch mal den HTML-Code (nur den Form-Abschnitt).
    Sonst weiß man ja gar nicht, wie die POST-Felder heißen.

    Hast du eirgendwelche besonderen Wünsche, wie IP-Sperre oder so?

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Danke schonmal für die schnelle Antwort.

    Das ist der Code:

    <form action = "kontakt_senden.php" method = "POST">
    <p>
    <input name = "firmenname" />
    <p>
    <input name = "ansprechpartner" />
    <p>
    <input name = "email" />
    <p>
    <input name = "telefon" />
    <p>
    <textarea name = "message" cols="50" rows="10">Ihre Nachricht</textarea>
    <p>
    <input type = "submit">
    <input type = "reset">
    </form>



    Ganz einfach aufgebaut eigentlich.
    Nein, ich habe keine besonderen Wünsche.
    Es wäre aber ganz gut, wenn die Email die man bekommt nicht nur die Variablen in einer Reihe anzeigt ( Name,AP,mail,tel)
    Ist aber auch nicht soooo wichtig, wäre halt schön wenn das untereinander geschrieben wird, sodass man direkt den "überblick" hat.

    Vielen Dank schonmal im Voraus!
  • Hi,
    ich habe erstmal den HTML-Code berichtigt, sind ein paar Fehler dabei gewesen:

    Quellcode

    1. <form action = "kontakt_senden.php" method = "post">
    2. <p>
    3. <input type="text" name = "firmenname" />
    4. </p>
    5. <input type="text" name = "ansprechpartner" />
    6. <p>
    7. <input type="text" name = "email" />
    8. </p>
    9. <input type="text" name = "telefon" />
    10. <p>
    11. <textarea name = "message" cols="50" rows="10">Ihre Nachricht</textarea>
    12. </p>
    13. <input type = "submit" name="submit" />
    14. <input type = "reset" name="reset" />
    15. </form>
    Alles anzeigen

    Und hier die kontakt_senden.php:

    PHP-Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. if(isset($_POST['submit'])) {
    4. $email = 'peter@test.com';
    5. $betreff = 'Betreff';
    6. $inhalt = 'Firmenname: '.$_POST['firmenname']."\r\n\r\n".'Ansprechpartner: '.$_POST['ansprechpartner']."\r\n\r\n".'Email: '.$_POST['email']."\r\n\r\n".'Telefon: '.$_POST['telefon']."\r\n\r\n".'Nachricht: '.$_POST['message'];
    7. mail($email,'=?UTF-8?B?'.base64_encode($betreff).'?='."\r\n",$inhalt,'FROM: <'.$_POST['email'].'>'."\r\n".'MIME-Version: 1.0'."\r\n".'Reply-to: '.$_POST['email']."\r\n".'Content-type: text/enriched; charset=UTF-8; format=flowed'."\r\n".'Content-Transfer-Encoding: 8bit'."\r\n".'X-Mailer: PHP/'.phpversion()) OR die('Fehler beim Versenden');
    8. echo 'Email erfolgreich versendet!';
    9. }
    10. ?>

    Hier einfach bei $betreff dein gewünschter Betreff rein und bei $email deine Emailadresse. Fertig ist das ganze.

    Hoffe das war nach deinen Vorstellungen.
    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Danke. Das werde ich mal ausprobieren.

    kurze Frage zum Verständnis:

    Wo ist der Unterschied?

    <input name = "email" />

    zu

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

    ???

    Und: was bedeutet die letzte Zeile? mail($mail,'=?UTF-8?B?'.base64_encode($betreff) usw.

    Kannst du mit ungefähr sagen, wie die Email aussieht, die ich erhalte?


    Danke!!!
  • eintracht_mw schrieb:


    Wo ist der Unterschied?
    <input name = "email" />
    zu
    <input type="text" name = "email" />??

    Der Unterschied ist einfach nur, damit jeder Browser weiß, was du willst. Es gibt viele unterschiedliche Typen von <input> radio / checkbox /submit/reset und und un
    Zwar interpretieren es die meisten Bowser input als type="text" als Standard... Aber das ist wie ein i ohne Punkt. Jeder weiß was es zubedeuten hat, aber ein Fehler ist es trotzdem ;)
    Es gibt Standards (wie Rechtschreibung) an die man sich zuhalten hat.
    Hoffe das war verständlich.

    eintracht_mw schrieb:


    Kannst du mit ungefähr sagen, wie die Email aussieht, die ich erhalte?


    Ähm so ungefähr:

    Quellcode

    1. Firmenname: Das ausm Eingabefeld firmennamen
    2. Ansprechpartner: Das ausm Eingabefeld ansprechpartner
    3. Email: Das ausm Eingabefeld email
    4. Telefon: Das ausm Eingabefeld telefon
    5. Nachricht: Das aus dem textarea

    Fand ich ganz übersichtlich.
    Wenn anders gewünscht, poste am besten ein Beispiel.

    Gruß
    Broken Sword

    P.S.

    eintracht_mw schrieb:


    Und: was bedeutet die letzte Zeile? mail(....

    Das ist der PHP-Befehl für das Versenden einer Email.
    Sie wird in UTF-8 gesendet.
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Achso, das war mir garnicht so bewusst.

    Ich finde das sehr übersichtlich, danke!

    Ist dieses UTFmit allen kompatibel oder ist das kein Standard?
    Denn es soll jeder, egal mit welchem System senden können.

    Du hast mir sehr geholfen vielen Dank! und einen schönen abend noch
  • eintracht_mw schrieb:


    Ist dieses UTF mit allen kompatibel oder ist das kein Standard?

    Das ist ein Standard.
    Einer der weitverbreitesten noch dazu :)

    eintracht_mw schrieb:


    Denn es soll jeder, egal mit welchem System senden können.

    Das ist keine Frage des Sendens, sondern des Lesens. Senden kann das jeder. Wirklich jeder. Da brauchst du dir keine Sorgen machen ;)
    Solange PHP3 oder höher auf deinem webserver installiert ist, kein Problem.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • eintracht_mw schrieb:


    Hoffe ich habe nicht zu "dumme" Fragen gestellt.

    Ach Quatsch.

    Ein weiser Mann pflegte zusagen, "Das was wir für uns tun, stirbt auch mit uns. Aber das was wir für andere tun, währet ewig." :hy:

    Also kein Prob, man hilft doch gerne :)

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Aktuell zu den Captchas gab es vor kurzem einige interessante Artikel in der IX:
    Ausgabe 4 2008 - Seite 120. Gibt es auch als online-version zum kostenlosen Lesen auf IX - fragt mal fireball.de ....

    und nebenbei fand ich das Projekt recaptcha sehr interessant. Da man hier mit Links im Forum sehr vorsichtig umgehen soll, verweise ich alle Leser höflichst auf Fireball.de und den klaren Menschenverstand in Sachen Stichwortfindung...

    MfG Jayman
  • eintracht_mw schrieb:

    Was bedeutet das?

    Ich würde den Code so aufbauen:

    PHP-Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. if(isset($_POST['submit'])) {
    4. $email = 'peter@test.com';
    5. $betreff = 'Betreff';
    6. $inhalt = 'Firmenname: '.htmlentities($_POST['firmenname'])."\r\n\r\n".'Ansprechpartner: '.htmlentities($_POST['ansprechpartner'])."\r\n\r\n".'Email: '.htmlentities($_POST['email'])."\r\n\r\n".'Telefon: '.htmlentities($_POST['telefon'])."\r\n\r\n".'Nachricht: '.$_POST['message'];
    7. mail($email,'=?UTF-8?B?'.base64_encode($betreff).'?='."\r\n",$inhalt,'FROM: <'.$_POST['email'].'>'."\r\n".'MIME-Version: 1.0'."\r\n".'Reply-to: '.$_POST['email']."\r\n".'Content-type: text/enriched; charset=UTF-8; format=flowed'."\r\n".'Content-Transfer-Encoding: 8bit'."\r\n".'X-Mailer: PHP/'.phpversion()) OR die('Fehler beim Versenden');
    8. echo 'Email erfolgreich versendet!';
    9. }
    10. ?>
    Die Funktion htmlentities() wandelt Umlaute (ä, ö, ü,...) in HTML Code um (ä => &auml; ...) aber auch Sonderzeichen < oder > werden zu &lt; bzw. &gt;

    Ist das aufwendig?
    Captcha? Ja. Wenn du ein gutes Captcha willst schon.
    Lies dir mal das hier durch. ;)

    Zum Thema PHP Formmailer klick mich

    mfg
    Snip3r
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)