[GastForen Archiv Perl und CGI [Formular ] Vorgegebenen Email Empfänger auswählen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

[Formular ] Vorgegebenen Email Empfänger auswählen

trueprojects
Beiträge gesamt:

19. Sep 2005, 18:46
Beitrag # 1 von 2
Bewertung:
(4063 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich habe ein Formular erstellt, bei dem man den Empfänger aus einem Pulldown-Menü ('Empfaenger') auswählen können soll.

Das Pulldown-Menü enthält 4 mögliche Empfänger:
Service=1, Wartung=2, Zentrale=3 und Vertrieb=4.

Da die Mailadressen geschützt bleiben sollen, will ich sie nicht in die HTML-Seite einbinden, sondern in das Perlscript. Genau hier hänge ich aber gerade.

Hier das Script, auf das ich aufbaue:



#!/usr/bin/perl

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

# -------> 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
$anwen = $query->param('Empfaenger'); # ---> Empfängeradresse
$returnhtml = $query->param('return'); # ---> URL für Dankeseite
$subject = $query->param('subject'); # ---> E-Mail-Subject
$absender = $query->param('Absender'); # ---> Absendername
$Empfaenger1 = "irgendeine\@adresse.de";
$Empfaenger2 = "irgendeine.andere\@adresse.de";
$Empfaenger3 = "noch.eine\@adresse.de";
$Empfaenger4 = "eine.vierte\@adresse.de";


# -------> 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\n";
}
}
}

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

# -------> Dankeseite an Browser senden:
print "Location: $returnhtml\n\n";


Mir fehlt jetzt praktisch die Anweisung, dass wenn 'anwen'='1' nimm $mailto='Adresse1@blabla.de\' usw.

Bin mit Perl (immer noch nicht) so fitt und wäre sehr dankbar, wenn mir jemand bei den 4 Code-Zeilen schnell helfen könnte!

if $anwen = '1' then $mailto = "$empfaenger1" usw. (ich hoffe, ihr versteht, was ich meine)

Danke für eure Hilfe!
X

[Formular ] Vorgegebenen Email Empfänger auswählen

trueprojects
Beiträge gesamt:

22. Sep 2005, 15:33
Beitrag # 2 von 2
Beitrag ID: #188273
Bewertung:
(4022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nur der vollständigkeit halber (schade dass hier keine Antwort kam, war doch echt nicht soo schwer). Ich hab das Problem nach einigen Tests jetzt selbst gelöst.

Das Pulldownmenü sendet ja Nummern an das Script, 1-4.

Diese werden im Script durch
$anwen = $query->param('Empfaenger'); # ---> Empfängeradresse
ausgelesen.

Die if-Anweisung sieht so aus (habe mein eigenes Script inzwischen sehr umstrukturiert, daher kann es sein, dass der folgende Code nicht so ganz zu dem Script passt, dass ich oben gepostet habe):

# -------> Empfänger ermitteln:
if( $anwen eq "2" ) {
$mailto = $Empfaenger2;
}
elsif( $anwen eq "3" ) {
$mailto = Empfaenger3;
}
elsif( $anwen eq "4" ) {
$mailto = Empfaenger4;
}
else {
$mailto = Empfaenger1;
}


als Antwort auf: [#187858]
(Dieser Beitrag wurde von trueprojects am 22. Sep 2005, 15:34 geändert)