Morfois Geschrieben 28. Februar 2006 Geschrieben 28. Februar 2006 Hallo! Ich weis bereits wie man mit PHP eine eMail versenden kann. // Empfänger $to = $row_get_email['email']; // Betreff $subject = "Wichtige Nachricht vom Coasterbook!"; // Nachricht $message = ("<html><head><title>Wichtige Nachricht vom Coasterbook</title></head><body><body background=\"http:\/\/www.coasterindex.com/layout/back.jpg\" leftmargin=\"0\" topmargin=\"0\"><p> </p><table width=\"620\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td background=\"http:\/\/www.coasterindex.com/images/lay_mail1.gif\" valign=\"top\" height=\"115\"> </td></tr><tr><td background=\"http:\/\/www.coasterindex.com/images/lay_mail2.gif\" valign=\"top\"><br><table width=\"580\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr><td>".nl2br($_POST['msg'])."</td></tr></table><p> </p></td></tr><tr><td background=\"http:\/\/www.coasterindex.com/images/lay_mail3.gif\" valign=\"top\" height=\"52\"> </td></tr></table></body></html>"); $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/related\nContent-Transfer-Encoding: 8bit\n"; // zusätzliche Header $headers .= "From: CoasterIndex.com - Mailsystem <support@coasterindex.com>\n"; // Verschicken der Mail if(mail($to, $subject, $message, $headers)) { echo('Mail versendet!'); } else { echo("Beim Versenden der eMail an <b>".$row_get_email['nickname']."</b> ist ein Fehler aufgetreten!"); }[/PHP] Jedoch sendet er mir im oben genannten script die bilder nicht mit. Frage hierbei: wie kann ich per PHP die bilder mitsenden lassen? Vielen Dank Morfois Zitieren
geloescht_JesterDay Geschrieben 1. März 2006 Geschrieben 1. März 2006 Wundert mich, dass deine Mail überhaupt als HTML ankommt, oder tut sie das nur, bei einem bestimmten Mail-Client? Du hast im Header Content-Type: multipart/related angegeben, aber es fehlt der Typ und ausserdem enthält deine Mail ja nur einen Part (also nix Multi). Hatte es glaub ich schonmal hier im forum geschrieben (bin mir jetzt aber selbst nich sicher und daher nochmal): multipart/related ist der richtige Typ, allerdings musst du in deiner Mail dann auch mehrere Parts mitgeben. Der erste (Typ text/html) ist dein HTML Inhalt, die nachfolgenden Parts sind dann deine Bilder. //*** Content-ID: $CID = md5(uniqid (rand(), 1)); // Die Content-ID brauchst du später für das Bild (jedes Bild eine eigene ID) // Diese Variable enthält einen Trenner, //der die einzelnen Inhalte im Body abgrenzt $mime_boundary = "" . md5(uniqid(mt_rand(), 1)); $Header.= "From:$MailFrom<$MailFromAdr>$EOL"; $Header.= "X-Mailer: PHP/" . phpversion(). "$EOL"; $Header.= "MIME-Version: 1.0\r\n"; $Header.= "Content-Type: multipart/related; ". "boundary=\"".$mime_boundary."\"; type=\"text/html\"$EOL"; //$EOL enthält den Zeilenumbruch, der kann je nach System des Servers // unterschiedlich sein (\r\n, \r, \n) [/php] Das ist der Header der Mail Im Body gibst du dann die einzelnen Teile an (also nicht nur den Inhalt (Text), sondern alles) [php] // Mail-Body $MailBody = "--".$mime_boundary."$EOL"; $MailBody.= "Content-Type: Text/HTML; charset=iso-8859-1$EOL"; $MailBody.= "Content-Transfer-Encoding: quoted-printable$EOL$EOL"; $MailBody.= // hier den Inhalt (HTML-Code) einfügen $MailBody.= "$EOL$EOL"; $MailBody.= "--".$mime_boundary."$EOL"; mit --$mime_boundary werden die einzelnen Teile abgegrenzt. Die korrekte Anzahl an Zeilenumbrüchen ist wichtig!! (denn danach ist die Mail formatiert) Jetzt noch das Bild (in meinem Fall war es 1 Bild): // Bild anhängen // Bild erst laden und vorbereiten $fp = fopen ($LogoLocation, "rb"); $str = fread ($fp, filesize ($LogoLocation)); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content.= "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID.$ImgName>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"$ImgName\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."--$EOL"; # echo $Header.$MailBody; mail($MailTo, $MailToSubject, $MailBody, $Header); [/php] als Source im HTML Code muss für das Bild: [b]cid:$CID.$ImgName[/b] angegeben werden (bzw. das, was bei deinen "Bild-Header" als Content-ID steht). Dann sucht der Client das Bild in den Mails. In den [b]Mails[/b] ist schon korrekt, weil die Content-ID für jedes Bild absolut, weltweit eindeutig sein sollte. Es ist damit möglich (und auch so vorgesehen), in einer Mail auf den Anhang einer anderen zuzugreifen (wenn sich die Mail im Zugriff befindet). Also denkbar wäre z.B. ein Newsletter, der das Logo nur in der ersten Mail mitsendet und in den anderen nur die Content-ID angibt. (spart Platz, ist aber wohl nur in der Theorie anwendbar) EDIT: Wichtig ist der letzte Trenner. Der Enthält nämlich noch ein "--" am Ende: [php] "--".$mime_boundary."--$EOL"; Damit wird der Mutlipart wieder geschlossen. EDIT2: Genauers zum Mail-Format findest du in der entsprechenden RFC (könnten auch noch andere (wegen den Anhängen) nötig sein, weiß ich nicht mehr) Zitieren
Morfois Geschrieben 2. März 2006 Autor Geschrieben 2. März 2006 Also... gar ned so einfach (wie ich finde). Ich hab das jetzt mal so gemacht: // Empfänger $to = $row_get_email['email']; // Betreff $subject = "Wichtige Nachricht vom Coasterbook!"; //*** Content-ID: $CID = md5(uniqid (rand(), 1)); $CID2 = md5(uniqid (rand(), 1)); $CID3 = md5(uniqid (rand(), 1)); $CID4 = md5(uniqid (rand(), 1)); // Die Content-ID brauchst du später für das Bild (jedes Bild eine eigene ID) // Diese Variable enthält einen Trenner, //der die einzelnen Inhalte im Body abgrenzt $mime_boundary = "" . md5(uniqid(mt_rand(), 1)); $Header.= "From: CoasterIndex.com - Mailsystem <support@coasterindex.com>$EOL"; $Header.= "X-Mailer: PHP/" . phpversion(). "$EOL"; $Header.= "MIME-Version: 1.0\r\n"; $Header.= "Content-Type: multipart/related; ". "boundary=\"".$mime_boundary."\"; type=\"text/html\"$EOL"; //$EOL enthält den Zeilenumbruch, der kann je nach System des Servers // unterschiedlich sein (\r\n, \r, \n) // Mail-Body $MailBody = "--".$mime_boundary."$EOL"; $MailBody.= "Content-Type: Text/HTML; charset=iso-8859-1$EOL"; $MailBody.= "Content-Transfer-Encoding: quoted-printable$EOL$EOL"; $MailBody.= "<html><head><title>Wichtige Nachricht vom Coasterbook</title></head><body><body background=\"".$CID.$ImgName."\" leftmargin=\"0\" topmargin=\"0\"><p> </p><table width=\"620\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td background=\"".$CID2.$ImgName."\" valign=\"top\" height=\"115\"> </td></tr><tr><td background=\"".$CID3.$ImgName."\" valign=\"top\"><br><table width=\"580\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr><td>".nl2br($_POST['msg'])."</td></tr></table><p> </p></td></tr><tr><td background=\"".$CID4.$ImgName."\" valign=\"top\" height=\"52\"> </td></tr></table></body></html>"; $MailBody.= "$EOL$EOL"; $MailBody.= "--".$mime_boundary."$EOL"; // Bilder anhängen // Bild erst laden und vorbereiten $fp = fopen ('./images/back.jpg', "rb"); $str = fread ($fp, filesize ('./images/back.jpg')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content.= "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID.$ImgName>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"$ImgName\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail1.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail1.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content.= "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID2.$ImgName>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"$ImgName\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail2.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail2.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content.= "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID3.$ImgName>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"$ImgName\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail3.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail3.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content.= "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID4.$ImgName>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"$ImgName\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."--$EOL"; # echo $Header.$MailBody; // Verschicken der Mail if(mail($to, $subject, $MailBody, $Header)) {[/PHP] Geht das so? Zitieren
Morfois Geschrieben 2. März 2006 Autor Geschrieben 2. März 2006 schade das man die beiträge nur innerhalb von 5 minuten editieren kann... ich habs jedenfalls jetzt n bissl anders: //*** Content-ID: $CID = md5(uniqid (rand(), 1)); $CID2 = md5(uniqid (rand(), 1)); $CID3 = md5(uniqid (rand(), 1)); $CID4 = md5(uniqid (rand(), 1)); // Die Content-ID brauchst du später für das Bild (jedes Bild eine eigene ID) // Diese Variable enthält einen Trenner, //der die einzelnen Inhalte im Body abgrenzt $mime_boundary = "" . md5(uniqid(mt_rand(), 1)); $Header.= "From: CoasterIndex.com - Mailsystem <support@coasterindex.com>$EOL"; $Header.= "X-Mailer: PHP/" . phpversion(). "$EOL"; $Header.= "MIME-Version: 1.0\r\n"; $Header.= "Content-Type: multipart/related; ". "boundary=\"".$mime_boundary."\"; type=\"text/html\"$EOL"; //$EOL enthält den Zeilenumbruch, der kann je nach System des Servers // unterschiedlich sein (\r\n, \r, \n) // Mail-Body $MailBody = "--".$mime_boundary."$EOL"; $MailBody.= "Content-Type: Text/HTML; charset=iso-8859-1$EOL"; $MailBody.= "Content-Transfer-Encoding: quoted-printable$EOL$EOL"; $MailBody.= "<html><head><title>Wichtige Nachricht vom Coasterbook</title></head><body><body background=\"".$CID.back."\" leftmargin=\"0\" topmargin=\"0\"><p> </p><table width=\"620\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td background=\"".$CID2.lay_mail1."\" valign=\"top\" height=\"115\"> </td></tr><tr><td background=\"".$CID3.lay_mail2."\" valign=\"top\"><br><table width=\"580\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr><td>".nl2br($_POST['msg'])."</td></tr></table><p> </p></td></tr><tr><td background=\"".$CID4.lay_mail3."\" valign=\"top\" height=\"52\"> </td></tr></table></body></html>"; $MailBody.= "$EOL$EOL"; $MailBody.= "--".$mime_boundary."$EOL"; // Bilder anhängen // Bild erst laden und vorbereiten $fp = fopen ('./images/back.jpg', "rb"); $str = fread ($fp, filesize ('./images/back.jpg')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content = "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID.back>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"back\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail1.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail1.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content = "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID2.lay_mail1>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"lay_mail1\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail2.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail2.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content = "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID3.lay_mail2>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"lay_mail2\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."$EOL"; // Bild erst laden und vorbereiten $fp = fopen ('./images/lay_mail3.gif', "rb"); $str = fread ($fp, filesize ('./images/lay_mail3.gif')); $data = chunk_split(base64_encode($str)); // dann den "Header" für das Bild $content = "Content-Type: image/gif$EOL"; $content.= "Content-ID: <$CID4.lay_mail3>$EOL"; $content.= "Content-Transfer-Encoding: base64$EOL"; $content.= "Content-Disposition: inline; filename=\"lay_mail3\"$EOL$EOL"; // Bild anhängen $content.= $data; $MailBody.= $content; // Trenner nicht vergessen! $MailBody.= "--".$mime_boundary."--$EOL";[/PHP] nun bekomme ich aber keine eMail! also muss (denke ich mal) was fehlerhaft sein! oder??? :-) Zitieren
geloescht_JesterDay Geschrieben 3. März 2006 Geschrieben 3. März 2006 nun bekomme ich aber keine eMail! also muss (denke ich mal) was fehlerhaft sein! oder??? :-) Ich hab mir das nicht alles durchgelesen -.- Am Ende von meinem Beispiel hast du ein "echo $Mailbody..." gesehen (auskommentiert). Das war da nicht zum Spass drin Kokmmentier den mail-Befehl aus und lass dir die Mail mal anzeigen, dann siehst du, was da rauskommt und ob da vielleicht irgendwo ein Fehler in der Mail-Quelle ist. Ansonsten steht da ja auch, dass der Zeilenumbruch wichtig (!) ist. Wenn es damit Probleme gibt, siehst du das nur beim Mail-Server (fehlerhafte Mail oder so). Wenn du darauf keinen Zugriff hast musst du probieren. Auf welchem System läuft dein Server denn? EDIT: Ach ja, hab den Code jetzt mal überflogen... was für einen Wert hast du $EOL zugewiesen? Das ist keine vorbelegte Variable, sondern ich hab das später nur eingefügt, um den Zeilenumbruch leicht anpassen zu können. Irgendwo muss also am Anfang mal: $EOL = "\r"; [/php] stehen (z.B.) Zitieren
Morfois Geschrieben 3. März 2006 Autor Geschrieben 3. März 2006 so also auf welchem system der server läuft weis ich nicht, da das ein gemeinschaftsprojekt ist und ich nur programmiere^^ Auf grund dessen habe ich auch keinen zugriff auf den mail-server. den $EOL hab ich nun weiter oben definiert. hier die ausgabe vom "echo $Mailbody...": From: CoasterIndex.com - Mailsystem X-Mailer: PHP/4.4.1 MIME-Version: 1.0 Content-Type: multipart/related; boundary="8cb9e6ce238bb90c487470cf81c77e93"; type="text/html" --8cb9e6ce238bb90c487470cf81c77e93 Content-Type: Text/HTML; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable test --8cb9e6ce238bb90c487470cf81c77e93 Content-Type: image/gif Content-ID: Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=back /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQ...blabla...3+Pn6/9oADAMBAAIRAxEAPwDnAAz5 A3yepPmyg9Tu/wCQldLkqTkm1wTzsXNFEQEuntPJl5FxtDEmIZDHiAnyP4R/yz7UV/rWo819bWfK /VJbfL0108z/ABVcrKL6SSkvJNLfz36v17f/2Q== --8cb9e6ce238bb90c487470cf81c77e93 Content-Type: image/gif Content-ID: <161b5935d68b0aa2ad4aa890ad960b8b.lay_mail1> Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=lay_mail1 R0lGODlhbAJzANUAAO/v7+bv797m79bm787...blablabla...dddrXN3imDgAAAOw== --8cb9e6ce238bb90c487470cf81c77e93 Content-Type: image/gif Content-ID: <668c1e522063ea6e6aa1f9681985976c.lay_mail2> Content-Transfer-Encoding: base64 Content-Disposition: inline; filename=lay_mail2 R0lGODlhbAIFAJEAAHy536GwurHAyu7u7iwAAAAAbAIFAAAIegABCBxIMMCAgwgTKlzIsKHDhxAj SpxIsaLFixgzatzIsaPHjyBDihxJsqTJkwgFEFzJcqVBlDBjypxJs6bNmzhz6tzJs6LKlkAL9hxK tKjRo0iTKl3KNOHPoEFfNp1KtarVq1izas34FGpLqVvDih1LtqzZsxS7sgwIADs= --8cb9e6ce238bb90c487470cf81c77e93--[/PHP] Zitieren
Morfois Geschrieben 3. März 2006 Autor Geschrieben 3. März 2006 also ich hab jetzt noch mal ne ganze weile rumprogrammiert, und ich denke das es daran liegt, das er nur bilder anzeigt, die im <img> liegen und keine backgrounds für tabellen. kann das evtl. sein? Zitieren
Morfois Geschrieben 3. März 2006 Autor Geschrieben 3. März 2006 hm schade das man seine vorherigen antworten auch nicht löschen kann ^^ also ich habs jetzt soweit geschafft, das die mail versendet wird und bei mir auch ankommt, und zwar mit bildern! das ganze sieht nun so aus: // Empfänger $to = $row_get_email['email']; // Betreff $subject = "Wichtige Nachricht vom Coasterbook!"; $grenze="grenzlinie"; $headers ="MIME-Version: 1.0\r\n"; $headers.="From: CoasterIndex.com - Mailsystem <support@coasterindex.com>\n"; $headers.="Content-Type: multipart/related;\n\tboundary=$grenze\n"; $headers.="Content-Disposition:inline\n"; $botschaft="\n--$grenze\n"; $botschaft.="Content-Type: text/html;charset=iso-8859-1\n"; $botschaft.="Content-Transfer-Encoding: 8bit\n\n"; $botschaft.="<html><head><title>Wichtige Nachricht vom Coasterbook</title></head><body><body background=cid:bild_1 leftmargin=\"0\" topmargin=\"0\"><p> </p><table width=\"620\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td background=cid:bild_2 valign=\"top\" height=\"115\"> </td></tr><tr><td background=cid:bild_3 valign=\"top\"><br><table width=\"580\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr><td>".nl2br($_POST['msg'])."</td></tr></table><p> </p></td></tr><tr><td background=cid:bild_4 valign=\"top\" height=\"52\"> </td></tr></table></body></html> \n"; $botschaft.="\n--$grenze\n"; $botschaft.="Content-Type: application/octetstream;\n\tname=back.jpg\n"; $botschaft.="Content-Transfer-Encoding: base64\n"; $botschaft.="Content-ID: <bild_1>\n"; $botschaft.="Content-Disposition:inline;filename=back.jpg\n\n"; $zeiger_auf_datei=fopen('./images/back.jpg',"rb"); $inhalt_der_datei=fread($zeiger_auf_datei,filesize('./images/back.jpg')); fclose($zeiger_auf_datei); $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); $botschaft.=$inhalt_der_datei; $botschaft.="--$grenze\n"; $botschaft.="Content-Type: application/octetstream;\n\tname=lay_mail1.gif\n"; $botschaft.="Content-Transfer-Encoding: base64\n"; $botschaft.="Content-ID: <bild_2>\n"; $botschaft.="Content-Disposition:inline;filename=lay_mail1.gif\n\n"; $zeiger_auf_datei=fopen('./images/lay_mail1.gif',"rb"); $inhalt_der_datei=fread($zeiger_auf_datei,filesize('./images/lay_mail1.gif')); fclose($zeiger_auf_datei); $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); $botschaft.=$inhalt_der_datei; $botschaft.="--$grenze\n"; $botschaft.="Content-Type: application/octetstream;\n\tname=lay_mail2.gif\n"; $botschaft.="Content-Transfer-Encoding: base64\n"; $botschaft.="Content-ID: <bild_3>\n"; $botschaft.="Content-Disposition:inline;filename=lay_mail2.gif\n\n"; $zeiger_auf_datei=fopen('./images/lay_mail2.gif',"rb"); $inhalt_der_datei=fread($zeiger_auf_datei,filesize('./images/lay_mail2.gif')); fclose($zeiger_auf_datei); $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); $botschaft.=$inhalt_der_datei; $botschaft.="--$grenze\n"; $botschaft.="Content-Type: application/octetstream;\n\tname=lay_mail3.gif\n"; $botschaft.="Content-Transfer-Encoding: base64\n"; $botschaft.="Content-ID: <bild_4>\n"; $botschaft.="Content-Disposition:inline;filename=lay_mail3.gif\n\n"; $zeiger_auf_datei=fopen('./images/lay_mail3.gif',"rb"); $inhalt_der_datei=fread($zeiger_auf_datei,filesize('./images/lay_mail3.gif')); fclose($zeiger_auf_datei); $inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei)); $botschaft.=$inhalt_der_datei; $botschaft.="--$grenze--\n"; #echo $headers.$botschaft; // Verschicken der Mail mail($to, $subject, $botschaft, $headers)[/PHP] Bleibt nur noch eine Sache: der background im body wird ned angezeigt. wie kann ich das machen lassen? Zitieren
PuppetMaster Geschrieben 4. März 2006 Geschrieben 4. März 2006 Eine Frage: Willst du unbedingt ein Mail-Script selber schreiben? Wenn nicht, wäre die Verwendung einer bereits ausgereiften Mail-Klasse wie phpmailer wesentlich einfacher. Zitieren
Morfois Geschrieben 5. März 2006 Autor Geschrieben 5. März 2006 hm... ja also erstens wollt ich das schon, weil die komplette page marke eigenbau wird, udn zweitens funzt das bisher doch super. und nur weil eine kleine sache nicht funktioniert werde ich wahrscheinlich jetzt nicht mehr umsteigen auf ein bereits fertiges script. Zitieren
geloescht_JesterDay Geschrieben 6. März 2006 Geschrieben 6. März 2006 Bleibt nur noch eine Sache: der background im body wird ned angezeigt. wie kann ich das machen lassen? Keine Ahnung, sollte genauso gehen... aber background ist das einzige Attribut, welchem du keine \"...\" gibst, das arme. War es denn so böse, dass es das nicht verdient? Ernsthaft, alle Attribute sollten Anführungszeichen haben, aber dein HTML Code ist eh so ne Sache... wie sagte das mal jemand hier im Forum... sieht aus wie "anno 1997". Ansonsten, keine Ahnung. Bis auf die Anführungszeichen ist mir nix aufgefallen und ich wüßte auch nichts anderes. EDIT: Eine Frage: Willst du unbedingt ein Mail-Script selber schreiben? Wenn nicht, wäre die Verwendung einer bereits ausgereiften Mail-Klasse wie phpmailer wesentlich einfacher. Einfacher wäre vieles, aber der Aufbau einer Mail ist ja nicht schwer zu verstehen... es ist IMHO doch viel besser, das mal zu kapieren, als immer gleich auf irgendwelchen Fremdcode zuzugreifen. Gerade bei Mails schätze ich mal, das mind. 99% der Nutzer keine Ahnung haben, was eine Mail eigentlich ist und wie sie aufgebaut ist Zitieren
Morfois Geschrieben 6. März 2006 Autor Geschrieben 6. März 2006 es ist IMHO doch viel besser, das mal zu kapieren, als immer gleich auf irgendwelchen Fremdcode zuzugreifen. Gerade bei Mails schätze ich mal, das mind. 99% der Nutzer keine Ahnung haben, was eine Mail eigentlich ist und wie sie aufgebaut ist so seh ich das auch, und nun kann ichs wenigstens. Naja und die "gänselatschen" im body hab ich mal ebend so schlichthinweg vergessen ^^ es haben sich schon sehr viele leute über den style ausgelassen, wie ich programmiere, das die "<p>" die ich setzte so aussehen sollen: "<p \>" und so weiter, aber ich sag nur eins... das interessiert den user, der sich die page beguckt sowiso ned, folglich zählt auch für mich nur das ergebnis ^^ und solange wie alles funktioniert ist doch alles rosig oder? :-) Vielen Dank an alle, die geholfen haben! Grüße Morfois P.S.: Das Problem lag daran, das hotmail keinen hintergrund anzeigt (genauso wie thunderbird) ^^ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.