Email mit php
-
tagchen
habe mal wieder ein problem...
habe ne art newsletter programmiert, der an die entsprechenden emailaddis die nachricht verschickt mit anhang... bzw. wollte keinen anhang sondern, dass das bild beispielsweise sofort in der Mail angezeigt wird.
habe es zur zeit wie folgt realisiert:$resultset=mysql_query("SELECT * FROM oldcustoms WHERE oc_web='1' ORDER BY oc_id+0 DESC LIMIT 1000"); $i=0; while ($row=mysql_fetch_Array($resultset)) { $emp[$i]=$row["oc_mail"]; $i++; } $empfaenger = implode(",",$emp); $grenze="grenzlinie"; $name_des_bildes=$HTTP_POST_FILES['datei']['name']; $headers ="MIME-Version: 1.0\r\n"; $headers.="From: info@server-team.de\n"; //$headers.="Bcc:".$empfaenger."\n"; $headers.="Content-Type: multipart/mixed;\n\tboundary=$grenze\n"; $botschaft .="<I></I>=\n--$grenze\n"; $botschaft.="Content-transfer-encoding: 7BIT\r\n"; $botschaft.="Content-type: text/plain\n\n"; //$botschaft.="Content-Type: text/html;charset=iso-8859-1\n"; //$botschaft.="Content-Transfer-Encoding: 8bit\n\n"; $botschaft.= "<html><head><title>Test</title></head><body>"; $botschaft.="<table cellpadding=2 cellspacing=2 border=0><tr><td>Webseiten Newsletter</td></tr></table>"; $botschaft.= "".$mess.""; $botschaft.="<img src=cid:$datei>"; $botschaft.="</body></html> \n"; $botschaft.="\n\n"; $botschaft.="\n--$grenze\n"; $botschaft.="Content-Type: application/octetstream;\n\tname=$name_des_bildes\n"; $botschaft.="Content-Transfer-Encoding: base64\n"; $botschaft.="Content-Disposition: attachment;\n\tfilename=$name_des_bildes\n\n"; $zeiger_auf_datei=fopen("$datei","rb"); $inhalt_der_datei=fread($zeiger_auf_datei,filesize("$datei")); fclose($zeiger_auf_datei); $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); $botschaft.=$inhalt_der_datei; $botschaft.="\n\n"; $botschaft.="--$grenze"; mail($empfaenger,"Testnachricht",$botschaft,$headers); print "email wurde versandt";
Die Email wird einwandfrei verschickt nur das Problem ist, dass keine HTML Mails angezeigt wird, sondern quasi der quelltext...
Desweiteren wird die Datei die hochgeladen wurde als anhang verschickt ich würde aber gern diese Datei (in den meisten Fällen ein Bild) sofort in der Mail angezeigt haben... Wie mache ich das...
Vielleicht findet ihr ja meinen Fehler und könnt mir helfen..
Ich beDANKE mich schonmal für Eure Mühe und Hilfe!
THX!!!
cu bart
-
Wenn du HTML hast, ist text/plain auf jeden Fall nicht das Richtige
-
gut das ist ein argument habe das aber auch mit
$botschaft.="Content-Type: text/html;charset=iso-8859-1\n"; $botschaft.="Content-Transfer-Encoding: 8bit\n\n";
probiert, hat aber auch nichts gebracht
-
Evtl. ist es wichtig, was im Header und was im Body steht
Vielleicht hilft dir das hier: http://www.webmaster-resource.de/tricks/php/mails-mit-anhang-verschicken.php
(Dort wird z.B. alles in den Header-Bereich gepackt - auch der eigentliche Inhalt der Mail)
-
hm... schönen dank für den link... aber das bringt mich nicht weiter..
habe das angeschaut und umgeändert aber null effekt...
-
tagchen
habe es zur zeit so gelöst, dass das bild vom server lade also
<img src="http://www.blabla.de/..."> das funzt wunderbar...
THX für eure Hilfe und Mühe!
cu bart