Script Probleme
Hallo Mirko,
da steht nirgendswo www.http im Script. Das Script soieht wie folgt aus :
<?
#############################################################################
# SUPERMAILER SUBSCRIBE/UNSUBSCRIBE SCRIPT #
# Double-Opt-In #
# Copyright © 2001 - 2004 Mirko Boeer #
# http://www.supermailer.de/ #
# #
# Dieses Script kann kostenlos eingesetzt werden, jedoch muss dieser Header #
# im Script enthalten bleiben! #
# #
# Systemvoraussetzungen: PHP 4 und Windows/Unix #
#############################################################################
# Geben Sie die E-Mail Adresse Ihres speziellen POP3 Postfachs an
$Recipient=\"emailadresse@sunergia.be\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ANmeldung erfolgte
# und an den neuen Abonnenten die E-Mail zur Bestätigung gesendet wurde
# Angabe mit http://
$ConfirmationMailSendOKPage=\"http://www.sunergia.be/newsletterverwal ... eldung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ANmeldung erfolgte
# Angabe mit http://
$SubscribeOKPage=\"http://www.sunergia.be/newsletterverwal ... tigung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ABmeldung erfolgte
# Angabe mit http://
$UnsubscribeOKPage=\"http://www.sunergia.be/newsletterverwal ... eldung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn die E-Mail Adresse aeusserlich nicht korrekt ist = Fehlerseite
# Angabe mit http://
$ErrorPage=\"http://www.sunergia.be/newsletterverwaltung/fehler.htm\";
# Geben Sie den Betreff der Bestaetigungs-E-Mail an
$EMailSubject=\"Ihre Anmeldung zum Kulturnewsletter von Chudoscnik Sunergia\";
# Geben Sie die Datei mit dem Text für die Bestaetigungs-E-Mail an, die der neue Abonnent
# geschickt bekommt. Dies muss eine Textdatei sein, kein HTML!
# Beachten Sie, der E-Mail-Text muss den Platzhalter [BESTAETIGUNGSLINK] enthalten, damit der
# Abonnent in der E-Mail auch den Link für die Aufnahme in den Newsletter anklicken kann.
# Angabe mit http://
$EMailText=\"http://www.sunergia.be/newsletterverwal ... gslink.txt\";
########### Ab hier nichts mehr aendern #####################
# FALLS register_globals off
if (ini_get(\'register_globals\') == 0) {
if ( isset($HTTP_GET_VARS[\'Action\']) )
$Action=$HTTP_GET_VARS[\'Action\'];
if ( isset($HTTP_GET_VARS[\'EMail\']) )
$EMail=$HTTP_GET_VARS[\'EMail\'];
if ( isset($HTTP_POST_VARS[\'EMail\']) )
$EMail=$HTTP_POST_VARS[\'EMail\'];
if ( isset($HTTP_POST_VARS[\'Action\']) )
$EMail=$HTTP_POST_VARS[\'Action\'];
if ( isset($HTTP_GET_VARS[\'Format\']) )
$Format=$HTTP_GET_VARS[\'Format\'];
if ( isset($HTTP_POST_VARS[\'Format\']) )
$Format=$HTTP_POST_VARS[\'Format\'];
}
function CheckEMail($email) {
if (strpos($email, \"@\") === False)
return 0;
$s = substr($email, strpos($email, \"@\"), strlen($email));
if (count(explode(\".\", $s)) < 2)
return 0;
return 1;
}
if ( (!isset($EMail)) || ($EMail == \"\") || ( !CheckEMail($EMail) ) ) {
if ($ErrorPage != \"\")
header(\"Location: $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 ( (!isset($Action)) || ($Action == \"\") ) {
print \"Es wurde das Feld Action nicht übermittelt!\";
exit;
}
if (($EMailText == \"\") || ($EMailSubject == \"\")) {
print \"Fehler es ist kein E-Mail-Text oder kein Betreff für die Bestätigungs-E-Mail vorhanden.\";
exit;
}
if ($Action == \"subscribe\") {
$headers = \"From: $Recipient\\n\";
$headers .= \"X-Mailer: SuperMailerScript http://www.supermailer.de/\\n\";
$headers .= \"Return-Path: <$Recipient>\\n\";
$message = join(\"\", file($EMailText));
$Link = \"http://\".$SERVER_NAME.$SCRIPT_NAME.\"?Action=confirmation&EMail=\".urlencode($EMail);
#Fuer weitere Felder, diesen muessen im HTML-Formular und im SuperMailer angelegt werden!
$s=\"\";
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
if ($key == \"EMail\") continue;
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
if($s == \"\")
$s = \"$key=\".urlencode($val);
else
$s .= \"&$key=\".urlencode($val);
}
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
if ($key == \"EMail\") continue;
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
if($s == \"\")
$s = \"$key=\".urlencode($val);
else
$s .= \"&$key=\".urlencode($val);
}
if($s != \"\")
$Link .= \"&\".$s;
$message = str_replace (\"[BESTAETIGUNGSLINK]\", $Link, $message);
@mail($EMail, $EMailSubject, $message, $headers);
if ($ConfirmationMailSendOKPage != \"\")
header(\"Location: $ConfirmationMailSendOKPage\");
else
print \"<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>\";
exit;
}
# Aufruf ueber Bestaetigungs-E-Mail
if ($Action==\"confirmation\") {
$Action=\"subscribe\";
}
$headers = \"From: $EMail\\n\";
$headers .= \"X-Mailer: SuperMailerScript http://www.supermailer.de/\\n\";
$headers .= \"Return-Path: <$EMail>\\n\";
# Alle uebergebenen Werte in die Anmeldenachricht uebernehmen
$message = \"\";
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
$message .= \"$key: \".$val.\"\\n\";
}
# Versenden der Mail
@mail($Recipient, $Action, $message, $headers);
if ($Action == \"subscribe\")
if ($SubscribeOKPage != \"\")
header(\"Location: $SubscribeOKPage\");
else
print \"<b>Ihre E-Mail-Adresse $EMail wurde zu unserer Newsletterliste hinzugefügt!</b>\";
else
if ($UnsubscribeOKPage != \"\")
header(\"Location: $UnsubscribeOKPage\");
else
print \"<b>Ihre E-Mail-Adresse $EMail wurde aus unserer Newsletterliste entfernt!</b>\";
?>
Sorry ich bin da zu blöd für, glaube ich :rotwerd:
Dany
da steht nirgendswo www.http im Script. Das Script soieht wie folgt aus :
<?
#############################################################################
# SUPERMAILER SUBSCRIBE/UNSUBSCRIBE SCRIPT #
# Double-Opt-In #
# Copyright © 2001 - 2004 Mirko Boeer #
# http://www.supermailer.de/ #
# #
# Dieses Script kann kostenlos eingesetzt werden, jedoch muss dieser Header #
# im Script enthalten bleiben! #
# #
# Systemvoraussetzungen: PHP 4 und Windows/Unix #
#############################################################################
# Geben Sie die E-Mail Adresse Ihres speziellen POP3 Postfachs an
$Recipient=\"emailadresse@sunergia.be\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ANmeldung erfolgte
# und an den neuen Abonnenten die E-Mail zur Bestätigung gesendet wurde
# Angabe mit http://
$ConfirmationMailSendOKPage=\"http://www.sunergia.be/newsletterverwal ... eldung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ANmeldung erfolgte
# Angabe mit http://
$SubscribeOKPage=\"http://www.sunergia.be/newsletterverwal ... tigung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn eine ABmeldung erfolgte
# Angabe mit http://
$UnsubscribeOKPage=\"http://www.sunergia.be/newsletterverwal ... eldung.htm\";
# Geben Sie die Seite an, die angezeigt werden soll, wenn die E-Mail Adresse aeusserlich nicht korrekt ist = Fehlerseite
# Angabe mit http://
$ErrorPage=\"http://www.sunergia.be/newsletterverwaltung/fehler.htm\";
# Geben Sie den Betreff der Bestaetigungs-E-Mail an
$EMailSubject=\"Ihre Anmeldung zum Kulturnewsletter von Chudoscnik Sunergia\";
# Geben Sie die Datei mit dem Text für die Bestaetigungs-E-Mail an, die der neue Abonnent
# geschickt bekommt. Dies muss eine Textdatei sein, kein HTML!
# Beachten Sie, der E-Mail-Text muss den Platzhalter [BESTAETIGUNGSLINK] enthalten, damit der
# Abonnent in der E-Mail auch den Link für die Aufnahme in den Newsletter anklicken kann.
# Angabe mit http://
$EMailText=\"http://www.sunergia.be/newsletterverwal ... gslink.txt\";
########### Ab hier nichts mehr aendern #####################
# FALLS register_globals off
if (ini_get(\'register_globals\') == 0) {
if ( isset($HTTP_GET_VARS[\'Action\']) )
$Action=$HTTP_GET_VARS[\'Action\'];
if ( isset($HTTP_GET_VARS[\'EMail\']) )
$EMail=$HTTP_GET_VARS[\'EMail\'];
if ( isset($HTTP_POST_VARS[\'EMail\']) )
$EMail=$HTTP_POST_VARS[\'EMail\'];
if ( isset($HTTP_POST_VARS[\'Action\']) )
$EMail=$HTTP_POST_VARS[\'Action\'];
if ( isset($HTTP_GET_VARS[\'Format\']) )
$Format=$HTTP_GET_VARS[\'Format\'];
if ( isset($HTTP_POST_VARS[\'Format\']) )
$Format=$HTTP_POST_VARS[\'Format\'];
}
function CheckEMail($email) {
if (strpos($email, \"@\") === False)
return 0;
$s = substr($email, strpos($email, \"@\"), strlen($email));
if (count(explode(\".\", $s)) < 2)
return 0;
return 1;
}
if ( (!isset($EMail)) || ($EMail == \"\") || ( !CheckEMail($EMail) ) ) {
if ($ErrorPage != \"\")
header(\"Location: $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 ( (!isset($Action)) || ($Action == \"\") ) {
print \"Es wurde das Feld Action nicht übermittelt!\";
exit;
}
if (($EMailText == \"\") || ($EMailSubject == \"\")) {
print \"Fehler es ist kein E-Mail-Text oder kein Betreff für die Bestätigungs-E-Mail vorhanden.\";
exit;
}
if ($Action == \"subscribe\") {
$headers = \"From: $Recipient\\n\";
$headers .= \"X-Mailer: SuperMailerScript http://www.supermailer.de/\\n\";
$headers .= \"Return-Path: <$Recipient>\\n\";
$message = join(\"\", file($EMailText));
$Link = \"http://\".$SERVER_NAME.$SCRIPT_NAME.\"?Action=confirmation&EMail=\".urlencode($EMail);
#Fuer weitere Felder, diesen muessen im HTML-Formular und im SuperMailer angelegt werden!
$s=\"\";
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
if ($key == \"EMail\") continue;
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
if($s == \"\")
$s = \"$key=\".urlencode($val);
else
$s .= \"&$key=\".urlencode($val);
}
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS)) {
if ($key == \"EMail\") continue;
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
if($s == \"\")
$s = \"$key=\".urlencode($val);
else
$s .= \"&$key=\".urlencode($val);
}
if($s != \"\")
$Link .= \"&\".$s;
$message = str_replace (\"[BESTAETIGUNGSLINK]\", $Link, $message);
@mail($EMail, $EMailSubject, $message, $headers);
if ($ConfirmationMailSendOKPage != \"\")
header(\"Location: $ConfirmationMailSendOKPage\");
else
print \"<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>\";
exit;
}
# Aufruf ueber Bestaetigungs-E-Mail
if ($Action==\"confirmation\") {
$Action=\"subscribe\";
}
$headers = \"From: $EMail\\n\";
$headers .= \"X-Mailer: SuperMailerScript http://www.supermailer.de/\\n\";
$headers .= \"Return-Path: <$EMail>\\n\";
# Alle uebergebenen Werte in die Anmeldenachricht uebernehmen
$message = \"\";
reset ($HTTP_GET_VARS);
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
if ($key == \"Action\") continue;
if ($key == \"SubmitBtn\") continue;
$message .= \"$key: \".$val.\"\\n\";
}
# Versenden der Mail
@mail($Recipient, $Action, $message, $headers);
if ($Action == \"subscribe\")
if ($SubscribeOKPage != \"\")
header(\"Location: $SubscribeOKPage\");
else
print \"<b>Ihre E-Mail-Adresse $EMail wurde zu unserer Newsletterliste hinzugefügt!</b>\";
else
if ($UnsubscribeOKPage != \"\")
header(\"Location: $UnsubscribeOKPage\");
else
print \"<b>Ihre E-Mail-Adresse $EMail wurde aus unserer Newsletterliste entfernt!</b>\";
?>
Sorry ich bin da zu blöd für, glaube ich :rotwerd:
Dany
Hallo Dany,
du musst dann das Script ändern. Alle http://www.http://www.sunergia.be/ Angaben entfernen, darauf achten, dass du die Anführungszeichen (\") nicht mit entfernst.
Die Angaben auf die Dateien z.B. bestaetigungslink.txt musst du dann realtiv machen (../../newsletterverwaltung/bestaetungslink.txt). In deinen Fall wäre es wohl am einfachsten auch das Script newsletter.php in den Ordner newsletterverwaltung zu kopieren, damit kannst du alle Pfadangaben weglassen und nur den Dateinamen stehen lassen. Den HTML-Code für den Aufruf des Scripts musst du dann natürlich in /newsletterverwaltung/newsletter.php ändern.
du musst dann das Script ändern. Alle http://www.http://www.sunergia.be/ Angaben entfernen, darauf achten, dass du die Anführungszeichen (\") nicht mit entfernst.
Die Angaben auf die Dateien z.B. bestaetigungslink.txt musst du dann realtiv machen (../../newsletterverwaltung/bestaetungslink.txt). In deinen Fall wäre es wohl am einfachsten auch das Script newsletter.php in den Ordner newsletterverwaltung zu kopieren, damit kannst du alle Pfadangaben weglassen und nur den Dateinamen stehen lassen. Den HTML-Code für den Aufruf des Scripts musst du dann natürlich in /newsletterverwaltung/newsletter.php ändern.
Hallo,
habe mein Scriupt generieren lassen, den HTML Code auf meine Seite eingebaut und das newsletter.php Script hochgeladen.
Wenn ich mich aber anmelde gibt der Browser folgenden Fehler an:
Warning: file(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: file(http://www.http://www.sunergia.be/newsl ... gslink.txt): failed to open stream: Address family not supported by protocol in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: join(): Bad arguments. in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site38/fst/var/www/html/menu/newsletter.php:12) in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 286
Ich habe auf dem Server einen Ordner eingerichtet der Newsletterverwaltung heisst, darin sind alle Seite und Scripts die mit dem Newsletter zu tun haben abgelegt.
Wenn ich mich anmelde bekomme ich zwar eine Mail mit dem richtigen Betreff, aber keinem Inhalt...
In der Mailbox kommen auch keine Emails an!
Kann mir irgendjemand helfen?
Danke
Dany
habe mein Scriupt generieren lassen, den HTML Code auf meine Seite eingebaut und das newsletter.php Script hochgeladen.
Wenn ich mich aber anmelde gibt der Browser folgenden Fehler an:
Warning: file(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: file(http://www.http://www.sunergia.be/newsl ... gslink.txt): failed to open stream: Address family not supported by protocol in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: join(): Bad arguments. in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site38/fst/var/www/html/menu/newsletter.php:12) in /home/virtual/site38/fst/var/www/html/menu/newsletter.php on line 286
Ich habe auf dem Server einen Ordner eingerichtet der Newsletterverwaltung heisst, darin sind alle Seite und Scripts die mit dem Newsletter zu tun haben abgelegt.
Wenn ich mich anmelde bekomme ich zwar eine Mail mit dem richtigen Betreff, aber keinem Inhalt...
In der Mailbox kommen auch keine Emails an!
Kann mir irgendjemand helfen?
Danke
Dany