Das is ja mein Problem - ich kopier jetzt auch mal das Script:
#!/usr/bin/perl
###################################################################### #######
# SUPERMAILER SUBSCRIBE/UNSUBSCRIBE SCRIPT #
# Copyright © 2001-2002 Mirko Boeer #
#
http://www.supermailer.de/ #
# #
# Dieses Script kann kostenlos eingesetzt werden, jedoch muss dieser Header #
# im Script enthalten bleiben! #
# #
# Systemvoraussetzungen: Perl und Windows/Unix #
###################################################################### #######
use LWP::UserAgent;
use CGI qw(header -no_debug);
# Geben Sie die E-Mail Adresse Ihres speziellen POP3 Postfachs ein
$Recipient=\'
newslettercheck@bm-internetservice.de\';
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ANmeldung erfolgte
# Angabe mit http://
$SubscribeOKPage=\"
http://www.bm-internetservice.de/danke.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ABmeldung erfolgte
# Angabe mit http://
$UnsubscribeOKPage=\"
http://www.bm-internetservice.de/schade.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn die E-Mail Adresse aeusserlich nicht korrekt ist = Fehlerseite
# Angabe mit http://
$ErrorPage=\"\";
# Pfad zum Mailprogramm, auf den meisten Servern ist diese Angabe richtig
$MailProgram = \"/usr/lib/sendmail -t\";
########### Ab hier nichts mehr aendern #####################
# E-Mail Adresse anschauen
sub email_check {
local($emails) = $_[0];
if ($emails =~ /(@.*@)|(..)|(@.)|(.@)|(^.)|(.$)/ ||
($emails !~ /^.+@localhost$/ &&
$emails !~ /^.+@[?(w|[-.])+.[a-zA-Z]{2,3}|[0-9]{1,3}]?$/)) {
return(0);
}
else {
if ($emails =~ /S/)
{
if ($emails =~ /^[w-.]+@[w-.]+$/)
{
return(1);
}
else
{
return(0);
}
}
}
}
# Form parsen
sub ReadParse
{
local (*in) = @_ if @_;
local ($i, $key, $val);
# Read in text
if (&MethGet)
{
$in = $ENV{\'QUERY_STRING\'};
}
elsif (&MethPost)
{
read(STDIN,$in,$ENV{\'CONTENT_LENGTH\'});
}
@in = split(/[&;]/,$in);
foreach $i (0 .. $#in)
{
# Convert plusses to spaces
$in[$i] =~ s/+/ /g;
# Split into key and value
# splits on the first =
($key, $val) = split(/=/,$in[$i],2);
# Convert %XX from hex numbers to alphanumeric
$key =~ s/%(..)/pack(\"c\",hex($1))/ge;
$val =~ s/%(..)/pack(\"c\",hex($1))/ge;
# Associate key and value
# \",\" is the multiple separator
$in{$key} .= \",\" if (defined($in{$key}));
$in{$key} .= $val;
}
return scalar(@in);
}
sub MethGet
{
return ($ENV{\'REQUEST_METHOD\'} eq \"GET\");
}
sub MethPost
{
return ($ENV{\'REQUEST_METHOD\'} eq \"POST\");
}
sub ShowPage {
$res = LWP::UserAgent->new->request(new HTTP::Request GET => $_[0]);
return $res->is_success ? $res->content : $res->status_line;
}
sub mail {
if (open (MAIL,\"|$MailProgram $Recipient\") ) {
print MAIL $headers;
print MAIL \"Subject: $Actionnn\";
print MAIL $message;
close (MAIL);
}
}
&ReadParse;
$EMail = $in{\'EMail\'};
$Action = $in{\'Action\'};
print \"Content-type: text/htmlnn\";
if ( ($EMail eq \"\") || (!&email_check($EMail)) ) {
if ($ErrorPage ne \"\") {
print &ShowPage($ErrorPage);
}
else {
print \"<b>Es wurde keine E-Mail Adresse angegeben oder die E-Mail Adresse liegt nicht im korrekten Format vor!</b>\";
}
exit;
}
if ( ($Action eq \"\") ) {
print \"Es wurde das Feld Action nicht übermittelt!\";
exit;
}
$headers = \"From: $EMailn\";
$headers .= \"X-Mailer: SuperMailScriptn\";
$headers .= \"Return-Path: <EMail>n\";
# $Action als Betreff
# message als Text der Mail
# Format des Mailtextes:
# FeldName: <feldinhalt>n
$message = \"EMail: $EMailn\";
# Beispiele fuer weitere Felder, diesen muessen im HTML-Formular und im SuperMailer angelegt werden!
# $Name = $in{\'Name\'};
# $message .= \"Name: $Namen\";
# $Vorname = $in{\'Vorname\'};
# $message .= \"Vorname: $Vornamen\";
# Versenden der Mail
mail($Recipient, $Action, $message, $headers);
if ($Action eq \"subscribe\") {
if ($SubscribeOKPage ne \"\") {
print &ShowPage($SubscribeOKPage);
}
else {
print \"<b>Die E-Mail Adresse wurde zu unserer Newsletterliste hinzugefügt!</b>\";
}
}
else {
if ($UnsubscribeOKPage ne \"\") {
print &ShowPage($UnsubscribeOKPage);
}
else {
print \"<b>Die E-Mail Adresse wurde aus unserer Newsletterliste entfernt!</b>\";
}
}