Hinweis:
Das sich die Scripte, bis auf die zu ändernden Details gleichen, werde ich hier nur die zu ändernden Codeteile
und deren Position im Script angeben.
# E-Mail des Empfängers UNBEDINGT den \ vor dem @ notieren
@email_liste = ("webmaster\@ihredomain.de","privat\@mailadresse.de");
Hier unterhalb wird nun eine Liste definiert der vorhandenen Infotexte
# Autoresponder, hier die Dateien angeben die vorhanden sind
@mail_texte = ("keintext","html.txt","cgi.txt","php.txt");
Nun das Formularfeld autoresponder in der Liste eintragen:
$empfaenger = $FORM{'empfaenger'};
$subject = $FORM{'subject'};
$name = $FORM{'name'};
$vorname = $FORM{'vorname'};
$mailadresse = $FORM{'mailadresse'};
$anfragetext = $FORM{'anfragetext'};
$autoresponder = $FORM{'autoresponder'};
Jetzt kommt der Teil der die TXT Datei öffnen die der Absender haben möchte.
Da es auch sein kann das der Absender keinen Infotext haben möchte ist das ganze hier in einer
if Abfrage eingebunden.
if ($mail_texte[$autoresponder] ne '0') {
open (FILE, "/pfad/zu/infotexten/$mail_texte[$autoresponder]");
while (<FILE> ) {push (@file,$_);}
close(FILE);
}
ne '0' heist das die Datei nur geöffnet werden braucht wenn der Wert nicht 0 ist.
Der Vorgang der hier innerhalb der IF Abfrage abläuft ist folgender:
- open [FILE... öffent die angegebene Datei zum lesen
- while (<FILE> ) liest die ganze Datei und "pusht" den Inhalt aller Zeilen in die Variable $_
- Datei wird wieder geschlossen mittels close(FILE);
sub mailsenden {
open (MAIL, "|$mailprog -t") || die $!;
print MAIL "To: $email_liste[$empfaenger]\n";
....
....
....
print MAIL "Gesendet um: $datum\n";
close(MAIL);
Unterhalb dieses Abschnittes der die Mail an den Empfänger sendet kommt nun ein weiterer Mailversandcode.
open (MAIL, "|$mailprog -t") || die $!;
print MAIL "To: $mailadresse\n";
print MAIL "From: $email_liste[$empfaenger]\n";
print MAIL "Subject: $subject\n\n";
print MAIL "Hallo $vorname $name\n\n";
print MAIL "Wir haben Ihre Nachricht erhalten und\n";
print MAIL "werden diese so schnell wie möglich bearbeiten.\n";
print MAIL "==================================\n";
if ($autoresponder ne '0') {
print MAIL "Hier der zusätzlich angeforderte Text zur Mail:\n\n";
print MAIL "@file\n\n";
print MAIL "==================================\n\n";
}
print MAIL "Viele Grüße\n";
print MAIL "Webmaster\n";
print MAIL "Gesendet um: $datum\n";
close(MAIL);
Hier gilt es zu beachten das bei To: und From: die Werte angepasst werden müssen!
Weiterhin habe ich hier eine andere IF Abfrage eingebaut die den eingeschlossenen Abschnitt, speziell den Text
print MAIL "Hier der zusätzlich angeforderte Text zur Mail:\n\n"; bis zu
print MAIL "==================================\n\n"; garnicht erst mitsendet wenn keine Anforderung vorliegt.
Bei @file wird das was oberhalb in dem while Abschnitt ausgelesen wurde in die Mail eingefügt.
Weitere Hinweise:
- Nun noch die entsprechenden Infotexte vorbereiten und auf den Server laden.
- Die Dateien die mitgesendet werden sollen können natürlich auch andere Dateiendungen haben .dat z.B.
- Man sollte mit dieser Methode Infotexte, keine "Romane" versenden.
- Es ist nicht möglich hier ZIP Dateien, Bilder oder sonstige Atachements an die Mail anzuhängen.
|