Warum funktioniert das Programm nicht?
Philipp
- php
0 Torsten0 David Tibbe
Hi!
Ich habe mir vor kurzem folgendes Newsletter-Programm geschrieben:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><body>
<?php
//Newsletter laden
$bol=file_exists("aktuell.html");
if($bol) {
print('<p>Newsletter-Datei wird geladen</p>');
$datei=fopen("aktuell.html","r");
if($datei) {
$newsletter=fread($datei,filesize("aktuell.html"));
fclose($datei);
print('<p>Okay, Newsletter-Datei wurde geladen</p>');
}
else {
print("Newsletter-Datei konnte nicht geladen werden!");
}
}
else {
print("<p>Newsletter-Datei existiert nicht</p>");
}
//CSV-Datei laden
$bol=file_exists("empfaenger.csv");
if($bol) {
$datei=fopen("empfaenger.csv","r");
if($datei) {
$dateigroesse=filesize("empfaenger.csv");
print('<p>Newsletter wird verschickt:</p>');
while(($data=fgetcsv($datei,$dateigroesse,";"))!=false) {
//Jetzt Mail versenden:
print($data[1]);
print("<br>");
mail($data[1],"Aktueller Newsletter",$newsletter, "Content-Type: text/html\nFrom:aaa@aaa.xxx");
}
fclose($datei);
print('<p>Okay, Newsletter wurde verschickt:</p>');
}
else {
print("<p>CSV-Datei konnte nicht geladen werden!</p>");
}
}
else {
print("<p>CSV-Datei existiert nicht</p>");
}
?>
</body></html>
Es soll einen Newsletter an Adressen schicken, welche in der Datei empfaenger.csv stehen:
philipp;webmaster@philipp-wehner-homepage.de;19.08.2003;12:45:45
Der Newsletter steht in der Datei aktuell.html mit dem (einfachen) Inhalt:
Test
Wenn ich das Programm nun starte, gibt mir der Computer folgende Fehler aus:
Newsletter-Datei wird geladen
Okay, Newsletter-Datei wurde geladen
Newsletter wird verschickt:
webmaster@philipp-wehner-homepage.de
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\home\phpkurs\homepage\newsletter.php on line 32
Notice: Undefined offset: 1 in c:\home\phpkurs\homepage\newsletter.php on line 30
Notice: Undefined offset: 1 in c:\home\phpkurs\homepage\newsletter.php on line 32
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\home\phpkurs\homepage\newsletter.php on line 32
Okay, Newsletter wurde verschickt:
Was hab ich falsch gemacht? Warum läuft das Programm nicht?
Vielleicht könnt ihr mir ja weiterhelfen!
Danke im Vorraus!
Philipp
PS: Entschuldigt bitte vielmals die Länge meines Beitrages!
Hi!
HI PHILIPP
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Ich schätze mal, das du in deiner PHP.ini keinen SMTP Server angegeben hast.
Wenn Du dort immernoch Localhost stehen hast, aber du dafür keinen Server eingerichtet hast, dann änder mal die einträge in deiner PHP.ini.
SMTP =
sendmail_from =
verwende einfach die deaten, von einer Emailadresse. Bei T-online z.B.
SMTP = mailto.t-online.de
sendmail_from = Muster@t-online.de
Danke im Vorraus!
Wenn ich Dir helfen konnte, bitte gerne!
LG aus Hamburg
Torsten
Hallo
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\home\phpkurs\homepage\newsletter.php on line 32
Hm, Englisch solltest du schon können. Es steht doch dort, du hast keinen Mailserver bei dir am laufen. Und wenn wohl, dann ist er nicht richtig konfiguriert bzw. deine php.ini nicht.
Notice: Undefined offset: 1 in c:\home\phpkurs\homepage\newsletter.php on line 30
Auch hier steht der Fehler da. Das angesprochene Array hat nicht das gewählte Element. Ein solcher Fehler wäe durch:
$arr = array("a", "b");
echo $arr[4];
reproduzierbar.
Was hab ich falsch gemacht?
Weder ins Manual, noch die PHP-FAQ noch Google, noch das Archiv beümht.
Und in Zukunft unbedingt die entsprechenden Zeilen kenntlich machen. Durchzählen möchte hier niemand.
Warum läuft das Programm nicht?
Es läuft doch. Bis auf jene Fehler. Aber auch die werden anscheinend korrekt behandelt.
Grüße
David