E-Mailformular

Zathras

Lieutenant
Registriert
Sep. 2006
Beiträge
582
Hallo zusammen.
Um die Abwicklung unserer internen IT sowohl für die User, als auch für uns IT-ler einfacher zu machen, hab ich mir überlegt eine Art Formular zu verwenden. Darin soll es einige Textfelder geben sowie Radiobuttons oder Checkboxen. Die Inhalte der Felder und Boxen sollen dann teils im E-Mailbetreff und teils im Textkörper vorkommen.

Den Ablauf stelle ich mir dann so vor, dass, wenn zum Beispiel ein neuer Arbeitsplatz eingerichtet werden soll, der Abteilunsgleiter eine Intranetseite aufruft, dort den Namen des neuen Mitarbeiters angibt, mit den Checkboxen soll er auswählen, welche Programme oder Berechtigungen der neue Mitarbeiter bekommen soll und das ganze soll dann irgendwie bei mir in Form einer E-Mail aufschlagen, so dass ich direkt alle Informationen habe.
Die nächste Ausbaustufe wäre dann, dass man diese E-Mail an unser internes Ticketsystem schickt, welches die betreffzeile auswerten kann und anhand bestimmter Schlagworte die Mail einem IT-Mitarbeiter zuordnet bzw. in eine bestimmte Queue schiebt.
Kommt als "neuer PC" im Betreff vor, geht das Ticket an den Frontendbereich, kommt "SAP" drin vor geht das Ticket zum SAP-Basis Mitarbeiter, etc. Dies funktioniert aber bereits programmintern. Mich interessiert nur, wie ich die enstprechenden Auswahlen aus der Intranetseite in die Betreffzeile bekomme.

Ich erwarte nun natürlich nicht, dass mir jemand von vorn bis hinten erklärt, wie ich das umsetzen kann, aber es wäre nett, wenn mir jemand ein paar Ansatzpunkte liefern könnte oder vielleicht Literaturtipps, Webseiten oder bestimmte Kniffe kennt, wie oder ob man das durchführen kann.

Meine HTML/Javascript/PHP-Kenntnisse beschränken sich nur auf das allernötigste, ich habe seit gut 5 Jahren nichts mehr in der Richtung gemacht.

MfG und dank an alle die bis hierher schon gelesen haben ;-)

Timo
 
Moin Zathras,

so würde ich dies umsetzen:

Die Mail würde ich per phpmailer versenden. Dieses Mail Script ist komplett fertig ohne weitere Kenntnisse einsetzbar.

In der Konfigurationsdatei mail.inc.php kannst du bei der Variable $mail->Subject den Betreff deiner Mail eintragen. Dazu würde ich dir empfehlen, dass du in dem Formular eine Radiobuttonleiste einbaust, wo der User einen seinen passenden Betreff auswählen kann. Die Auswahl über den Radiobutton übergibst du dann an die Datei mail.inc.php und trägst sie in den Betreff ein.
Somit kannst du im Vorfeld schon bei dem Ticketsystem festlegen, wo welche Mail mit welchem Betreff weitergeleitet wird.

Gruß
 
Am besten legst Du eine kleine PHP-Anwendung auf einem Intranet-Webserver an. Das Grundprinzip ist einfach:

Du benötigst:
- Eine Webseite, die das Formular enthält.
- Ein PHP-Skript, welches die Formulareingaben verarbeitet und die E-Mail verschickt.

Die Webseite mit dem Formular kann eine fache HTML-Datei sein, z.B:
Code:
<html>
  <head>
    <title>Ein Formular</title>
  </head>
  <body>
    <div>
      <form action="verarbeitung.php" method="post">
        Vorname: <input type="text" name="vorname" /><br />
        Nachname: <input type="text" name="nachname" /><br />
        Braucht Eclipse: <input type="checkbox" name="eclipse" value="1" /><br />
        <input type="submit" name="submit" value="Abschicken" />
      </form>
    </div>
  </body>
</html>
In diesem einfachen Beispieldokument sind nur drei Formularfelder enthalten: Jeweils ein Textfeld für Vor- und Nachname und ein Kontrollkästchen, um anzugeben, ob die Person die Eclipse-Entwicklungsumgebung benötigt. Außerdem ist ein Sende-Button enthalten, mit dem das Formular an das PHP-Skript geschickt werden kann.

Das Formular wird beim Senden an das Skript "verarbeitung.php" übertragen. Diese Skriptdatei muss nun in etwa so aussehen:
Code:
<?php
  if (isset($_POST['submit']))
  {
    if (!empty($_POST['vorname']) && !empty($_POST['nachname']))
    {
      $use_eclipse = intval($_POST['eclipse']);
      $mail_to = "youradmin@yourcompany.com";
      $mail_subject = "Programme für " . $_POST['vorname'] . " " . $_POST['nachname'];
      $mail_headers = "From: formular@yourcompany.com\r\n"
        . "Reply-To: mailofyourcustomer@hiscompany.com\r\n"
        . "X-Mailer: PHP/" . phpversion();
      $mail_text = "Der Benutzer " . $_POST['vorname'] . " " . $_POST['nachname']
        . " benötigt folgende Programme:\n";
      if ($use_eclipse == 1)
      {
        $mail_text .= "Eclipse-Entwicklungsumgebung\n";
      }
      // Hier können noch mehr Programme abgefragt werden.
      if (mail($mail_to, $mail_subject, $mail_text, $mail_headers))
      {
        // Mail erfolgreich gesendet.
        echo "Erfolgreich gesendet.";
      }
      else
      {
        // Beim Senden ist ein Fehler aufgetreten.
        echo "Es ist ein Fehler aufgetreten.";
      }
    }
    else
    {
      // Unvollständige Angaben.
      echo "Die Angaben sind nicht vollständig. Vor- oder Nachname fehlt.";
    }
  }
?>

Deutlich zu erkennen ist, dass man mit der globalen Variablen $_POST auf die Formularfelder zugreifen kann, die von der Webseite übertragen worden sind. Der Text im "name"-Attribut jedes input-Elements legt dabei den Schlüssel fest, der im $_POST-Array für dieses Feld verwendet wird. Zum Senden einer Mail wird die mail()-Funktion verwendet. Nähere Informationen dazu und zum Aufbau eines PHP-Skripts finden sich im PHP Manual.

Als weiterführende Lektüre empfehle ich dieses OpenBook zu PHP4 und als HTML-Referenz natürlich SELFHTML.

Viel Erfolg!
 
Vielen Dank euch beiden!
ich werd mich da mal reinstürzen und da ihr so hilfsbereit seid, werd ich euch sicherlich löchern wenn ich nicht weiterkomme... muahaha.
Also danke erstmal und drückt mir, auch in eurem sinne ;-) die daumen dass ichs gut hinbekomme.

mfg
timo
 
ich melde mich schnelle wieder als ich erwartet hätte...
ich habe versucht mit xampp einen lokalen webserver zu installieren. diese oberfläche von xampp sagt mir auch das apache und pho läuft. aber wenn ich deine, Prypjat, beispieldateien ausführen will, dann zeigt mir opera nur den quelltext an bzw. der internetexplorer will die phpdatei herunterladen und abspeichern.
ich hab bestimmt irgendwas dummes übersehn...

wie bekomme ich also meinen rechner dazu, dass er die php dateien ausführt und sie nicht anzeigt bzw runterlädt?
 
Ich habe mein Skript auch einfach so hier ins Forum reingeschrieben. Es wurde überhaupt nicht getestet. Falls also an der einen oder anderen Stelle ein Fehler lauern sollte, bitte ich um Entschuldigung. Gerade die ";" zum Abschluss eines Befehls können ohne einen vernünftigen Editor schon mal entfallen.
 
oha, danke computerfreak.
wenn ich die datei auf die von dir geschriebene weise öffne gehts auch ;-) muss man ja wissen...
prypjat, dein skript funktioniert jedenfalls soweit, dass ich des als grundlage nehmen kann um mich reinzuarbeiten. wenn ich net alles eingeben kommt auch die fehlermeldung dass daten fehlen, das versenden von mails geht aber noch net, dazu werd ich wohl erst noch die entsprechende funktion einbauen müssen (den vorganannten phpmailer zum beispiel).

danke und grüßle!
 
hi
also absender, empfänger und übermittelter name kann ich inzwischen per formular an die mail übergeben (geht sogar mitm exchangeserver), auch den betreff kann ich mit den variablen die im formular befüllt werden ausgeben.

im moment knacke ich noch am textkörper der mail.
ich weiß noch nicht wie ich die werte, die angehakt werden, in die mail bekommen soll. die variablen genau so einbinden wir im betreff geht irgendwie net...
aber ich bin zuversichtlich.

grüßle
 
Juhuuu, ich habs, ich bin ein ganz großes genie, und ihr auch! ;-)
jetzt noch ein bissl optisches feintuning und die sache ist gegessen.

vielen dank nochmal für eure hilfe!
 
Zurück
Oben