header fehlermeldung bei newsletterversand!

Begonnen von lit-web, 02. Februar 2008, 13:41:04

Vorheriges Thema - Nächstes Thema

lit-web

Hey @ all.
Also ich bin grad dabei einen Newsletter zu schreiben und habe mich im Vorfeld auch bisschen schlau gemacht und dieses aus Datenschutzrechtlichen Gründen mit einem BCC Feld gemacht. Ich hole die emails aus einer Datenbank heraus.
Hier mal der Code
 


Zurück
       \";
   }
   if(strlen($_POST[\'text\'])Zurück
       \";
   }
$sqlbefehl = \"Select * From $tab_edits\";
$result = mysql_query($sqlbefehl)or die(mysql_error());
$row = mysql_fetch_assoc($result);
       $mail = $row[\'email\'];
   $empfenger = \"\".$mail.\"\";        //echo $empfenger;
   $betreff = \"Newsletter von www.manu.de\";
   $mailtext = \"\".$_POST[\'titel\'].\"\\n\";
   $mailtext.=\"am: \".date(\"d.m.Y\").\" , um: \".date(\"H:i:s\").\"\\n\";
   $mailtext.=\"Hallo an alle die diesen Newsletter bei mir abbonoiert haben!\\n\";
   $mailtext = \"------------------------------------------------------------------------------------\\n\\n\";
   $mailtext =\"\".$_POST[\'text\'].\"\";
   $header =\"MIME-Version: 1.0\\r\\n\";
   $header = \"From: www.die domain.de \".$empfenger.\"\";
   $header = \"To: \".$empfenger.\"\";
   $sqlbefehl = \"Select * From $tab_nl\";
   $ergebnis = mysql_query($sqlbefehl)or die(\"Fehler in der Datenbank NL\".mysql_error());
   while($row = mysql_fetch_array($ergebnis)){
           $id = $row[\'id\'];
           $email = \"\".$row[\'email\'].\",\";
           //echo $email;
   $header = \"Bcc: \".$email.\"\";
   mail($empfenger,$betreff,$mailtext,$header);
   //header(\"Location: modul/nl.php\");
}
}
require(\'kopf.php\');
require(\'admin_kopf.php\');
?>
 
Newsletter versenden
\" method=\"post\" name=\"formular\">
Titel:
 
 
Text:
 
 
 
 


 
 
Und hier die Fehlermeldung die ich bekomme
Warning: mail() [function.mail]: \"sendmail_from\" not set in php.ini or custom \"From:\" header missing in C:\\Programme\\xampp\\htdocs\\manuel\\post_nl.php on line 50
Die bekomme ich drei mal aufgeführt weil ich zum test drei email Adressen in der Datenbank habe. Ich betreibe die Seite momentan offline mit XAMPP. Wenn ich eine Fehlermeldung bekommen würde Aufgrund eines fehlenden Mailservers würde ich das ja noch verstehen aber diese hier raffe ich nicht. Wobei da missing header steht obwohl ich einen header festgesetzt und in der mail function angegeben habe.
Danke für jede Hilfe MFG der litter

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


mahe

bei from solltest du schon auch eine Email-Adresse angeben /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />

http://blog.mahe.at\" rel=\"external nofollow\">http://blog.mahe.at/wp-content/uploads/2007/06/88x31_1.jpg\" alt=\"88x31_1.jpg\">


Ja, diese Signatur dient zur Werbung!


Und dass ich meine Posts wiederfinde ...


lit-web

Da steht doch eine drin bzw. steht die in der variablen $empfenger. Oder muss das www.die domain.de raus?

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!




$header = \"From: www.die domain.de \".$empfenger.\"\";
$header = \"To: \".$empfenger.\"\";




[/quote]
 

www.die domain.de

(¹) + E-Mail-Adresse des Empfängers im From ist keine syntaktisch gültige E-Mail-Adresse.
Nur die Adresse des Empfängers im From wäre eine syntaktisch gültige Absenderadresse, aber keine semantisch gültige. Der Absender soll bei Zustellungsproblemen informiert werden - nicht der Empfänger. Also: In From: gehört eine Adresse, welche auch vom Absender empfangen und gelesen wird (postmaster@ z.B.).
¹ RFC2606 spezifiziert, dass in Beispielen immer .example oder example.(org|com|net) anzugeben ist, da nicht ausgeschlossen werden kann, dass www.die domain.de eines Tages eine gültige Domain sein wird.
Nota bene:
Das Konstrukt


$header = \"To: \".$empfenger.\"\";




[/quote]
ist in sofern redundant, dass es unnötig ist, nach $empfaenger noch einen leeren String (\"\") anzuhängen. Empfänger schreibst sich übrigens so und nicht Empfenger.

$header = \'To: \' . $empfaenger

 ist redundanzfrei.

Ach ja:


$empfenger = \"\".$mail.\"\";




[/quote]
ist natürlich auch sinnfrei. Warum verbindest Du $mail mit zwei leeren Strings?
Ebenso in:


$mailtext =\"\".$_POST[\'text\'].\"\"; 




[/quote]
Im Übrigen ist auch deine Idee, jedem Empfänger einzeln eine E-Mail via BCC zustellen, reichlich sinnfrei: Wenn Du eh jede E-Mail einzeln zustellst, kannst Du auch gleich ganz normal im To: adressieren - BCC ist nur geboten, wenn mehrere Empfänger gleichzeitig angeschrieben werden und jeweils die E-Mail-Adresse der BCC-Empfänger nicht erfahren sollen.
http://en.wikipedia.org/wiki/Cargo_cult_programming\" rel=\"external nofollow\">http://en.wikipedia.org/wiki/Cargo_cult_programming
Addendum nota bene:


$mailtext.=\"Hallo an alle die diesen Newsletter bei mir abbonoiert haben!\\n\";




[/quote]
Abbonoiert gibt es nicht - abonniert leitet sich ab von http://duden.xipolis.net/suche/abstract.php?shortname=fx&artikel_id=1261\" rel=\"external nofollow\">Abonnement

lit-web

@ Statler das Bcc Feld macht schon Sinn in dem Code weil es gibt dort zwei Select Abfragen aus dem zwei email werte ausgelesen werden. Aus der erstenm kommt die Email vom Seiteninhaber. Und in der zweiten Abfrage kommen die Emails von den Newsletterabonenten.
Also stehen in dem Bcc: Feld alle Email Adressen wo der Newsletter hingehen soll also die eigentlichen Empfaenger. Darum verstehe ich nicht warum das Sinnfrei ist? Das was die Stringsachen angeht habe ich geändert,das war Zweifelsohne Sinnfrei

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


Nein. Das wolltest Du vielleicht so. Aber dein Code leistet das nicht. Du überschreibst übrigens auch $header und $mailtext - so dass in $header nur noch die BCC-Line und in $mailtext nur noch der unbehandelte Text aus $_POST[\'text\'] enthalten ist. Deswegen beschwert sich PHP auch: Du setzt keinen From-Header und in der php.ini ist auch keiner eingetragen - also weiß Sendmail nicht, wer die E-Mail eigentlich verschickt.

lit-web

Wie muss ich das in die php.ini schreiben? ich habe offline XAMPP zum testen im Einsatz

Taugenichtse die was haben,haben was gegen Habenichtse die was taugen!!!!


Wie muss ich das in die php.ini schreiben? ich habe offline XAMPP zum testen im Einsatz[/quote]
Du musst dein Programm reparieren. Ich vermute Du verwendest WAMPP - dort gibt es kein Sendmail.

all your base are belong to us / Discord