HTML eMails versenden mit Pear Mime

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • HTML eMails versenden mit Pear Mime

    Ich versuche gerade verzweifelt eine html eMail mit dem Mail/mime Paket von Pear zu versenden. Leider kommt, sobald ich eine Tabelle in das eMail Layout integriere nur noch Müll an. Es steht nichts mehr am richtigen Ort. Habe die eMail jetzt auf ein Minimum reduziert, aber es funktioniert immer noch nicht.

    Hier ein Auszug aus meinem Script:
    PHP-Code:
    $mail->setHTMLBody('
        <html>
        <body>
        
            <table border="0">
            <tr>
            <td valign="top"></td>
            </tr>
            </table>
        
        </body>
        </html>
    '
    );

    $mail->addHTMLImage('Newsletter230707-starter.jpg');

    $body $mail->get();

    $extra_header = array(
        
    'Content-type' => 'text/html; charset=iso-8859-1',
        
    'To' => $empfaenger
        
    );

    $headers $mail->headers($extra_header);

    $res $mailer->send($empfaenger,$headers,$body); 
    und angekommen ist:

    PHP-Code:
    =09  

    =09 
    Kann mir jemand sagen was ich da falsch mache?
    » http://www.htaccess-generator.com

  • #2
    Re: HTML eMails versenden mit Pear Mime

    Original geschrieben von bweichel
    Kann mir jemand sagen was ich da falsch mache?
    Du versendest HTML-Mails.


    Ich kenne dieses PEAR-Paket nicht, aber es widerspricht meiner Intuition, dass eine Methode namens setHTMLBody wirklich ein komplettes HTML-Dokument übergeben haben will.
    Übrigens ist deins noch nicht mal komplett, es hat keinen <head>!

    Ich schlage vor, du wirfst erstmal einen Blick in die Doku des PEAR-Pakets.

    Kommentar


    • #3
      doch ich habe die doku gelesen und es genauso gemacht wie im beispiel. in der doku steht:

      Wenn Sie Ihre Nachricht an setHTMLBody() übergeben, geht das Paket davon aus, dass es sich um eine Mail handelt, die im HTML Format verschickt werden soll. Bitte beachten Sie, dass es sich dann um ein komplettes HTML Dokument inklusive aller relevanten Tags handeln sollte.
      Ich habe natürlich zuerst noch head, title und meine css Formatierung in dem HTML Dokument gehabt, aber das ging nicht und da habe ich es genauso abgeschrieben wie im Beispiel von Pear. Na ja, geht aber trotzdem nicht.
      » http://www.htaccess-generator.com

      Kommentar


      • #4
        also ich habe mir die email jetzt mit outlook angesehen, da stimmt alles... man will es garnicht glauben... wenn ich es an web.de sende kommt nur müll dabei raus...

        es scheint irgendwie am content-type zu liegen... gibt es da nix allgemein gültiges?

        ich verwende übrigends folgendes script:
        http://www.galileocomputing.de/openb...0_mail-002.htm
        » http://www.htaccess-generator.com

        Kommentar


        • #5
          Original geschrieben von bweichel
          wenn ich es an web.de sende kommt nur müll dabei raus...
          Du meinst, wenn du es über deren Webinterface betrachtest?

          Na ja, die werden aus einem vollständigen HTML-Dokument ja wohl einiges rausfiltern (müssen), damit sie es im Kontext ihrer Seite anzeigen können.
          Und zwar nicht nur überflüssige HTML-Elemente, sondern auch Formatierungen - sonst wäre es dir ja per absoluter Positionierung etc. ein leichtes, ihre Webseite mit dem Inhalt deiner Mail komplett zu überlagern. Das öffnet sogar dem Phishing Tür und Tor ...

          Also, HTML-E-Mail und Anzeige in einem Webinterface gehen denkbar schlecht zusammen, bzw. kollidieren massiv mit den Interessen des Webmail-Anbieters.

          Da kann man also nur wiederholen:
          Original geschrieben von onemorenerd
          Du versendest HTML-Mails.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ok, da hast du natürlich recht... ich habe nun nur die tabelle eingesetzt und keine css daten verwendet, sondern pures html mit den font-tags... aber das ist nicht die hauptursache... schaut euch mal das bild im anhang an, das kommt dabei heraus.

            ich habe mir den quellcode mal angesehen, da steht bei denen in der ersten zeile schon:

            PHP-Code:
            <table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" background=3D"
            http:=
            //www.example.de/newsletter/images/newsletter-layout1-voll_06.gif" 
            width=3D=
            "627" align=3D"center"
            und bei mir:

            PHP-Code:
            <table border="0" cellpadding="0" cellspacing="0" background
            ="www.example.de/newsletter/images/newsletter-layout1-voll_06.gif" width="627" align="center"
            also da läuft doch irgendwas gewaltig schief. ich vermute mal es liegt an der kodierung, weiß aber nicht was ich da sonst noch einstellen soll. momentan steht sie auf:

            PHP-Code:
            'text/html; charset=iso-8859–1' 
            Angehängte Dateien
            Zuletzt geändert von bweichel; 02.08.2007, 09:54.
            » http://www.htaccess-generator.com

            Kommentar


            • #7
              Diese =XY-Zeichenketten sehen doch stark nach einer Quoted-Printable-Kodierung aus (das eingangs erwähnte =09 wäre dann bspw. ein Tabulator).
              cellpadding=3D"0" - =3D ist die Kodierung des Gleichheitszeichens selber.

              Also irgendwer kodiert da einmal zu oft, oder hat vergessen die Kodierung anzugeben, oder ...
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                na ja, ich muss mir das ganze nochmal in ruhe ansehen... hab die mails jetzt mit phpmailer versendet, dort geht es ohne probleme... muss mir da mal die kodierung ansehen...

                allerdings braucht phpmailer für 623 email 1 stunde... warum dauert das so lange? ich bin kurz dabei alles via mail() zu versenden... das geht ruck zuck...
                » http://www.htaccess-generator.com

                Kommentar


                • #9
                  so, ich habe jetzt mal noch:

                  PHP-Code:
                  'Content-Transfer-Encoding' => 'quoted-printable'
                  in den header geschrieben. jetzt wird aber allerdings das bild, was ich mit

                  PHP-Code:
                  addHTMLImage 
                  eingefügt habe noch immer nicht angezeigt. es scheint als gibt er mir das bild als code aus... muss ich noch was in den header schreiben, damit auch das bild, quasi der anhang angezeigt wird?
                  » http://www.htaccess-generator.com

                  Kommentar


                  • #10
                    Hast du das Bild denn auch in quoted printable konvertiert?

                    Kommentar


                    • #11
                      html in Mail richtig ausgeben??

                      Hallo, hoffe bin hier im richtigen Thema gelandet. Ich habe mir mit Hilfe einiger Tutorials ein kleines Newsletter Script gebastelt und es funktioniert soweit gut.
                      Die Mails kommen auch an, jedoch sobald ich html code zB. Links oder Bilder sende kommen die auch nur als HTML Code an. Wie kann ich das mit meinem Script auf einfache weise unterbinden? Also das die korekt umgewandelt werden?
                      das wäre mein bisheriger Code:
                      PHP-Code:
                      error_reporting(E_ALL);
                      ini_set("display_errors""off");
                      ini_set("display_startip_errors""off");
                      include (
                      "../database.php");
                      $verbindung mysql_connect ("$mysql_host""$mysql_user""$mysql_password") or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
                      mysql_select_db("$mysql_database")or die ("Die Datenbank existiert nicht.");
                      echo 
                      "Die eMail wurde an folgende eMail-Adressen gesendet:<br /><br />";
                      $name $_POST["name"];
                      $email $_POST["email"];
                      $betreff $_POST["betreff"];
                      $text $_POST["nachricht"];
                      $bl "SELECT fldmail FROM tbllink";
                      $ergebnis mysql_query($bl);
                      while(
                      $ausgabe mysql_fetch_assoc($ergebnis))
                      mail($ausgabe['fldmail'], $betreff$text"From: $name  <$email>"); }
                      $tx "SELECT fldmail FROM tbltext";
                      $ergebnis mysql_query($tx);
                      while(
                      $ausgabe mysql_fetch_assoc($ergebnis))
                      mail($ausgabe['fldmail'], $betreff$text"From: $name  <$email>"); }
                      $ar "SELECT fldmail FROM tblartikel";
                      $ergebnis mysql_query($ar);
                      while(
                      $ausgabe mysql_fetch_assoc($ergebnis))
                      mail($ausgabe['fldmail'], $betreff$text"From: $name  <$email>"); } 
                      Wäre über jeden Vorschlag dankbar.

                      Kommentar


                      • #12
                        https://www.google.com/search?q=php+...mail+versenden

                        Aber tu dir selbst einen Gefallen, und mach das nicht mit mail() – sondern nutze eine Mailer-Klasse wie bspw. PHPMailer oder Swift Mailer.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          html in Mail richtig ausgeben??

                          Zitat von wahsaga Beitrag anzeigen
                          https://www.google.com/search?q=php+...mail+versenden

                          Aber tu dir selbst einen Gefallen, und mach das nicht mit mail() – sondern nutze eine Mailer-Klasse wie bspw. PHPMailer oder Swift Mailer.

                          Danke hab das passende gefunden :-) und danke für den Tip

                          Kommentar

                          Lädt...
                          X