TobAd: Problem mit sendmail und PHP

Beitrag lesen

Einen schönen guten Abend - oder Morgen... je nachdem.

Ich habe folgendes Problem:

Ich möchte einen Newsletter von einem PHP-Skript aus verschicken. Die Emailadressen lese ich dazu aus einer MySQL-Datenbank aus und führe per while-Schleife diesen Code aus:

		  
$to = $versand['email']; //liest aus der DB die Emailadresse  
			  
$headers['From'] = 'newsletter@beispiel.de';  
$headers['Subject'] = $text_header; //der Betreff (auch aus einer Abfrage)  
  
$mime = new Mail_mime;  
$text = strip_tags($text_text); //der nicht-HTML-Text (auch aus einer Abfrage)  
$mime ->setTXTBody($text);  
				  
$html = '<html>  
	  <body>  
           <table width="100%">  
	    <tr  bgcolor="#f6821f">  
	     <td height="98"><img src="newsletter_oben.jpg"></td>  
	    </tr>  
	    <tr bgcolor="#fbcda5" align="left">  
	     <td>  
              <font face="Arial, Helvetica,sans-serif"> '.$text_text.'  
              </font>  
             </td>  
	    </tr>  
	    <tr bgcolor="#f6821f">  
	     <td height="102"><img src="newsletter_unten.jpg"></td>  
	    </tr>  
           </table>  
	  </body>  
	 </html>';  
$mime->addHTMLImage("../img/newsletter_oben.jpg", "image/jpeg", "newsletter_oben.jpg");  
$mime->addHTMLImage("../img/newsletter_unten.jpg", "image/jpeg", "newsletter_unten.jpg");  
$mime->setHTMLBody($html);  
		  
$body = $mime->get();  
$headers = $mime->headers($headers);  
			  
$params['sendmail_path'] = '/usr/sbin/sendmail';  
$params['sendmail_args']=  '-t -oi';			  
			  
$message =& Mail::factory('sendmail', $params);  
$send = $message->send($to, $headers, $body);  
if (PEAR::isError($send)) { print($send->getMessage());}  

Problem: Es wird nur der Betreff in Thunderbird angezeigt, nicht jedoch der Text (weder in plain, noch in HTML). Wenn ich direkt auf einen Webmailer (von web.de) gehe, dann zeigt er die Mail (fast) korrekt an. Das einzige, was falsch dargestellt wird, ist die fehlende Hintergrundfarbe der <tr>-Tags (die sollte orange sein, identisch mit der Hintergrundfarbe des Bildes).

Wenn ich die gesendete Mail aus Thunderbird exportiere und mit nem Texteditor öffne, dann tauchen da auf jeden Fall die Infos auf (ich bin mit dem Protokoll nicht ganz vertraut), also plain-text, html-text, die Codierung der Bilder, etc. Wo muss ich da suchen, wenn ich einen Fehler finden möchte?

Ich bin mir nicht sicher, ob das ein spezielles Problem von Thunderbird ist, aber wenn dies der Fall ist, muss ich das nicht in meinem Code abfangen? Und wenn ja, wie?

Sollte an dem Vorgehen etwas von vorneherein unpraktisch oder nicht so sinnvoll sein, dann freue ich mich über kritisches Feedback. Bin zwar kein absoluter Neuling, aber man lernt nie aus.

Der Code ist aus dem Sklar-PHP-Kochbuch.

Vielen Dank für die Mühe!

TobAd