TruckerTom 10 Geschrieben 7. Oktober 2008 Melden Teilen Geschrieben 7. Oktober 2008 Hallo Kollegen, ich habe folgendes Problem: Ich will ein in HTML geschriebenes Formul einfach nur per Email verschicken. Das ganze soll im lokalen Netz funktionieren, braucht also nicht irgendwie besonders geschützt zu sein. Dazu habe ich mir im Netz folgendes Script besorgt: #!/usr/bin/perl # # -------> Individuelle Parameter des Skriptes - bitte anpassen! # --> SMTP-Programm zum Versenden der Mail: $Sendmail_Prog = "/usr/lib/sendmail"; # --> Ziel-Mailadresse, an die gesendet werden soll: $mailto = 'empfaenger@mailadresse.lokal'; # -------> Modul für CGI-Scripts einbinden: use CGI; # -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden: $query = new CGI; @names = $query->param; # -------> interne Daten aus den erwarteten hidden-Feldern auslesen: $delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value $returnhtml = $query->param('return'); # ---> URL für Dankeseite $subject = $query->param('subject'); # ---> E-Mail-Subject # -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln # VERHINDERT sonst möglichen MISSBRAUCH des Skripts $subject =~ s/\s/ /g; # -------> Text der E-Mail aus den Formulardaten ermitteln: $mailtext = ""; foreach(@names) { $name = $_; @values = ""; @values = $query->param($name); if($name ne "return" && $name ne "subject" && $name ne "delimiter") { foreach $value (@values) { $mailtext = $mailtext.$name; $mailtext = $mailtext.$delimiter; $mailtext = $mailtext.$value."\n"; } } } # -------> E-Mail versenden: 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); # -------> Dankeseite an Browser senden: print "Location: $returnhtml\n\n"; Wo muss ich denn dem Script sagen, welches der Mailserver im lokalen netz ist? Weil das muss er ja irgendwie wissen, oder nicht? P.S.: was funktioniert ist, dass er die Dankeseite an den Browser schickt, aber es wird keine Email versendet. Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 14. Oktober 2008 Autor Melden Teilen Geschrieben 14. Oktober 2008 hat da keiner eine Idee? Wie könnte ich es noch machen, dass ein HTML-Formular einfach nach Klick auf "Senden" per Email gesendet wird, unabhängig vom lokalen Mailprogramm? Zitieren Link zu diesem Kommentar
Lian 2.422 Geschrieben 14. Oktober 2008 Melden Teilen Geschrieben 14. Oktober 2008 Was hast Du für einen Webserver? Mit Perl hat man das früher realisiert, als es nur CGI gab. Mittlerweile wird meistens ASP oder PHP genutzt... Zu Deiner Frage: Wo muss ich denn dem Script sagen, welches der Mailserver im lokalen netz ist? Es wird versucht auf ein lokales sendmail (Linux, *nix) zuzugreifen: $Sendmail_Prog = "/usr/lib/sendmail"; Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 14. Oktober 2008 Autor Melden Teilen Geschrieben 14. Oktober 2008 Muss das Sendmail nicht auch einen Mailserver in der Config haben, dass es versenden kann? Zitieren Link zu diesem Kommentar
Lian 2.422 Geschrieben 14. Oktober 2008 Melden Teilen Geschrieben 14. Oktober 2008 So ist es: Sendmail 8.12.11 cf/README - Sendmail Configuration Files Ist es ein Apache Server auf einem Linuxserver? Zitieren Link zu diesem Kommentar
TruckerTom 10 Geschrieben 14. Oktober 2008 Autor Melden Teilen Geschrieben 14. Oktober 2008 den Server hat ein Kollege aufgesetzt, lieder weiss er auch nicht genau wie ich das konfigurieren muss. Ich werd emich mal durch einige HowTos durchlesen, vielleicht finde ich ja noch die Antwort. Laut seiner Aussage muss das o.a. Script den Empfangs-Email-Server mit übergeben. So wie ich das sehe muss nur am Ende noch irgendwo rein so im Stile on: print MAIL "SMTP: mailserver"; oder halt die entsprechende Variable dazu.... Zitieren Link zu diesem Kommentar
Lian 2.422 Geschrieben 14. Oktober 2008 Melden Teilen Geschrieben 14. Oktober 2008 Um SMTP zu nutzen mit Perl muss man das script umstricken: Net::SMTP - perldoc.perl.org Wie gesagt: Es wird schneller und einfacher sein mit PHP & SMTP zu arbeiten als PERL mit SendMail zu konfigurieren oder auf SMTP umzubauen... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.