Python: Ein einfacher Formmailervon Kai Surendorf Ein Kontaktformular gehört zum Standard einer Website. In diesem Artikel wird ein Script erstellt, das die Eingaben im Formular übernimmt, an eine Email-Adresse weiterleitet und den Besucher auf eine Bestätigungsseite-Seite schickt. In medias res - Hier kommt das Script:
Wie funktioniert es? Die Eingaben des Benutzers in dem Formular lesen wir aus und übergeben sie an die Variable puffer (puffer = cgi.FieldStorage ()). Damit haben wir jetzt Zugriff auf die gemachten Angaben, die weitergeleitet werden sollen. Die eigentlich zu verschickende Email inklusive der Header-Angaben wird anschließend Stück für Stück zusammengestellt und in der Variable msg gespeichert. Zuerst definieren wir den Empfänger, den Absender und den Betreff. Dabei werden die zu Beginn des Scripts definierten Variablen verwendet. %s in den Variablen-Angaben hat den Effekt, das Python hier an Stelle von %s den Wert der Variable übernimmt, die anschließend mit einem vorangestellten % angegeben wird. So würde msg nach dem ersten Schritt im Ergebnis lauten: "From: webmaster@domain.de\", nach dem dritten Schritt sähe es wie folgt aus: From: webmaster@domain.de Wenn Sie sich in Ihrem Email-Programm schon einmal die Header-Angaben der Mails angesehen haben, könnte Ihnen dies bekannt vorkommen. Hier wird also per Hand zusammengestellt, was die Email-Programme normalerweise selbstständig erledigen. Die Zeilenumbrüche, die mit backslash + n (\n) erzwungen werden, sind notwendig, um diese Header gemäß dem SMTP-Protokoll zu formen. An diese Header-Angaben werden nun noch das Wichtigste, die eigentlichen zu übermittelnden Informationen, angehängt (msg = msg + str (puffer)). Die Angabe str (puffer) hat die Aufgabe, die übermittelten Daten, die ja in Form einer Listen-Variable vorliegen, in eine String-Variable, also eine "Nur-Text"-Variable, umzuwandeln, um etwaige Fehlermeldungen auszuschließen. Und ab die Post Aufräumen nach getaner Arbeit Die letzten beiden Zeilenumbrüche ("\n\n") sind notwendig, um die Übermittlung an den Browser korrekt abzuschließen. Nachdem das Script nun eine finale Ausgabe getätigt hat, beendet es sich selber und verschwindet wieder aus dem Speicher des Webservers. Dies ist wichtig, da ohne eine finale Ausgabe wie z.B. der Bestätigungsseite das Script eine Fehlermeldung auswirft oder im schlimmsten Fall, im Speicher des Webservers verbleibt und weiterläuft. Ihr Webhoster wird es Ihnen also danken, wenn Sie Ihre Python-Scripte korrekt beenden und somit die Belastung des Servers minimieren.
|
| ||||||
|
|
Partner: Template OK - PCopen - SITEopen - PCopen Schweiz - HTMLopen Schweiz - VirtualUniversity.ch - WEB-SET.com - YesMMS - Job und Karriere |