Forenindex » Archiv » Perl und CGI » FormMailer soll auch eine EMail an den Sender schicken

FormMailer soll auch eine EMail an den Sender schicken

Bernator
Beiträge gesamt: 40

1. Aug 2002, 14:33
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Hallo,

ich möchte gerne in dieses Script auch eine Antwort EMail an den Sender integrieren. Bekomme das aber nicht hin...! Vielleicht hat jemand eine Lösung.


Jens



#!/usr/bin/perl

$hp_url = "http://www.xxxxxxx.de/xxxx/xxxxx.html";
$hp_name = "Kathrin-Peter ";
$sendmail = '/usr/sbin/sendmail';
$email = 'info\@xxxxxxxx.de';

read(STDIN, $namevalues, $ENV{'CONTENT_LENGTH'});

open (MAIL, "|$sendmail $email") || die "Kein Mail-Programm gefunden: $sendmail!\n";
print MAIL ("To: $email\n");
print MAIL ("From: Kontaktaufnahme\n");
print MAIL ("Subject: $hp_name \n\n");

@namevalues = split(/&/, $namevalues);
foreach $namevalue (@namevalues) {
($name, $value) = split(/=/, $namevalue);
$name =~ tr/+/ /;
$value =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$INPUT{$name} = $value;
unless ($value eq "") {
print MAIL ("$name: $value\n");
}
}

close (MAIL);
print ("Location: http://www.xxxxxxx.de/xxxxxx/danke.html\n\n");

exit;

FormMailer soll auch eine EMail an den Sender schicken

Ollli
Beiträge gesamt: 458

1. Aug 2002, 20:07
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
ich schlage folgenden Code vor:
Code:

#!/usr/bin/perl

$hp_url = "http://www.xxxxxxx.de/xxxx/xxxxx.html";
$hp_name = "Kathrin-Peter ";
$sendmail = '/usr/sbin/sendmail';
$email = 'info@xxxxxxxx.de';

read(STDIN, $namevalues, $ENV{'CONTENT_LENGTH'});

@namevalues = split(/&/, $namevalues);
foreach $namevalue (@namevalues) {
($name, $value) = split(/=/, $namevalue);
$name =~ tr/+/ /;
$value =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;
$INPUT{$name} = $value;
unless ($value eq "") {
$mailinhalt .= "$name: $valuen";
}
}


open (MAIL, "|$sendmail $email") || die "Kein Mail-Programm gefunden: $sendmail!n";
print MAIL ("To: $emailn");
print MAIL ("From: Kontaktaufnahmen");
print MAIL ("Subject: $hp_name nn");
print MAIL $mailinhalt;
close (MAIL);

if ($INPUT{'email'} ne '') {
open (MAIL, "|$sendmail $INPUT{'email'}") || die "Kein Mail-Programm gefunden: $sendmail!n";
print MAIL ("To: $INPU{'email'}n");
print MAIL ("From: Kontaktaufnahmen");
print MAIL ("Subject: $hp_name nn");
print MAIL $mailinhalt;
close (MAIL);
}

print ("Location: http://www.xxxxxxx.de/xxxxxx/danke.htmlnn");

exit;



Wenn du was nicht verstehst dann frage einfach, aber ich denke dass du keine Probs hast, wenn du das Script in deinem Posting verstanden hast.

Ollli

[ Diese Nachricht wurde geändert von: Ollli am 2002-08-01 20:09 ]

FormMailer soll auch eine EMail an den Sender schicken

Bernator
Beiträge gesamt: 40

2. Aug 2002, 17:22
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Hallo Olli,

habe versucht das Script soweit zu ändern, aber es klappt nicht so ganz. Der zeigt mir den Fehler 500 an...

Habe das Script jetzt so:

#!/usr/bin/perl

$hp_url = "http://xxxxxxxxxl";
$hp_name = "Kathrin-Peter ";
$sendmail = '/usr/sbin/sendmail';
$email = 'info\@xxxxxxx.de';

read(STDIN, $namevalues, $ENV{'CONTENT_LENGTH'});

@namevalues = split(/&/, $namevalues);
foreach $namevalue (@namevalues) {
($name, $value) = split(/=/, $namevalue);
$name =~ tr/+/ /;
$value =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;
$INPUT{$name} = $value;
unless ($value eq "") {
$mailinhalt .= "$name: $value\n";
}
}

open (MAIL, "|$sendmail $email") || die "Kein Mail-Programm gefunden: $sendmail!\n";
print MAIL ("To: $email\n");
print MAIL ("From: Kontaktaufnahme\n");
print MAIL ("Subject: $hp_name \n\n");
print MAIL $mailinhalt;
close (MAIL);

if ($INPUT{'mail'} \n\e '') {
open (MAIL, "|$sendmail $INPUT{'mail'}") || die "Kein Mail-Programm gefunden: $sendmail!\n";
print MAIL ("To: $INPUT{'mail'}\n");
print MAIL ("From: Kontaktaufnahme\n");
print MAIL ("Subject: $hp_name \n\n");
print MAIL $mailinhalt;
close (MAIL);
}

print ("Location: http://www.xxxxxxxxxxxxdanke.html\n\n");

exit;

FormMailer soll auch eine EMail an den Sender schicken

Ollli
Beiträge gesamt: 458

4. Aug 2002, 23:18
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Also das Script was ich oben gepostet habe, funktioniert auf jeden Fall, nimm das mal.
Denn das Script was du gerade gepostet hast, hat einen Fehler bei der If-Abfrage, dort darf nicht \n\e stehen sondern ne also ohne \

Du musst jetzt schauen, ob das Script auf den Server angepasst ist, sprich sind alle Rechte vergeben, ist der Pfad zu Perl richtig, sind die richtigen Zeilenumbrüche verwendet worden?!
Wenn diese Bedingungen erfüllt sind, dann dürfte es funktionieren.

Wenn nicht, dann wäre es nicht schlecht, wenn du die Meldung der ErrorLog mit posten würdest.

Tschö
Ollli

FormMailer soll auch eine EMail an den Sender schicken

Bernator
Beiträge gesamt: 40

5. Aug 2002, 10:58
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Hallo Olli,

daran hat´s gelegen...besten Dank für Deine Hilfe. Klappt alles wunderbar.

Jens

FormMailer soll auch eine EMail an den Sender schicken

Ollli
Beiträge gesamt: 458

5. Aug 2002, 15:06
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Zitat:
Bernator schrieb am 2002-08-05 10:58 :
daran hat´s gelegen...besten Dank für Deine Hilfe. Klappt alles wunderbar.
an was genau hat es denn gelegen?
Wenn ich fragen darf

Ollli

FormMailer soll auch eine EMail an den Sender schicken

Bernator
Beiträge gesamt: 40

5. Aug 2002, 20:07
Bewertung:

gelesen: 2021

Beitrag als Lesezeichen
Hallo Ollli,

an meinem Fehler in der if-Abfrage.

Tschüssi

Jens