Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] HTML Mail mit php

Einklappen

Neue Werbung 2019

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

  • [Erledigt] HTML Mail mit php

    Hallo zusammen,

    momentan verschick ich meine html mails so:

    PHP-Code:
    include('Mail.php');
    include(
    'Mail/mime.php');

    $text 'Text version of email';
    $html '<html><body><img src="mailimg/header.jpg" /><br /><br />der text,</body></html>';
    $crlf "\n";
    $hdrs = array(
                  
    'From'    => 'yyy@xxx.de',
                  
    'Subject' => 'Your supject',
           
    'Reply-To' => 'jxxx@yyy.de'
                  
    );

    $mime = new Mail_mime($crlf);

    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);
    $mime->addHTMLImage("mailimg/header.jpg");

    //do not ever try to call these lines in reverse order
    $body $mime->get();
    $hdrs $mime->headers($hdrs);

    $mail =& Mail::factory('mail');
    $mail->send('ppp@ddd.de'$hdrs$body); 
    Macht man das so ? Weil bei t-online wird mir nur ein weißer Bildschirm angzeigt, statts der mail. Bei hotmail und web.de geht alles.

    mfg Jojo


  • #2
    Hm..so auf den ersten Blick sieht doch alles gut aus soweit, aber was für ne Mailerklasse verwendest Du überhaupt? Ist das hier so richtig

    PHP-Code:
    addHTMLImage("mailimg/header.jpg"); 
    mit "mailimg"? Ansonsten solltest Du nochmal schauen, wie man "korrekt" ne Html Seite aufbaut (Grundgerüst einer HTML-Seite - DOCTYPE-Definition und Aufbau), z.B. mit Doctype noch.

    Wolf29

    P.S. Was meinst Du mit, das bei der Telekom nur ne weiße Seite angezeigt wird? Wenn die E-Mail im Postfach geöffnet wird? Manche "deaktivieren" Html Mails aus Sicherheitsgründen!
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      genau .. und wenn ich an das Mail-konto meines Vaters denke (T-Online-Kunde) dann gehört T-Offline dazu .. deren Email-Programm kann sogar nur Text-mails.. Wie das bei denen mit Webmail aussieht weiß ich gerade nicht ...


      hmm .. ich hab das hier verwendet ...
      PHP-Code:
      $betreff="Freischaltung eines Benutzers für Datenbank";
      $header  'MIME-Version: 1.0' "\r\n";   // Mail generieren
      $header.= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
      $header2 ='From: xy@example.com'."\r\n";
      $header2.='Reply-To: Admin@dbserver.com'."\r\n".'X-Mailer: PHP/'.phpversion();
      $nachricht='<html><head><title>Freischaltung für DB</title></head>';
      $anred=$db->db_sql("SELECT * FROM anredtitel WHERE id='".$anredtitel."' ");
      $nachricht.='<body><p>Der Nutzer '.$anred[0]['anredtitel'];
      $nachricht.='&nbsp;'.$vorname.'&nbsp;'.$nachname.' m&ouml;chte mit der<br/>';
      $nachricht.='X-Datenbank des Teileservice arbeiten.</p>';
      $nachricht.='<p>Wir möchten Sie bitten, diesen Nutzer freizuschalten.<br/>';
      $nachricht.='Die Freigabe können Sie erteilen, wenn Sie sich <br/>';
      $nachricht.='selbst bei der Datenbank eingeloggen.</p>';
      $nachricht.='<br/><p>Mit freundlichen Gr&uuml;&szlig;en,<br/>';
      $nachricht.='das Admin-Team des Teileservice, ABC-Stadt';
      //echo $nachricht."<br/>"; // altes Debugging
      //echo count($operators)."<br/>"; //die Ziele für die Mails
      for ($i=0;$i<count($operators);$i++) {
         
      $anfang='<p>Sehr geehrte';
         if (
      substr($operators[$i]['anredtitel'],0,3)=='Fra') {
            
      $anfang.=' ';
         } 
      // Anrede zusammenbasteln
         
      else {
            
      $anfang.='r ';
         }
         
      $anfang.=$operators[$i]['anredtitel'].'&nbsp;'.$operators[$i]['name'].',</p>';
       
      // mailtext an die entsprechenden Leute schicken 
         
      mail($operators[$i]['email'],$betreff,$anfang.$nachricht,$header.$header2);

      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

      Kommentar


      • #4
        Der zweite Code hat mit dem ersten wenig gemein. Hier setzt du die Mailheader händisch zusammen und das auch unvollständig und falsch.

        Nimm PHPmailer.

        Wenn du bei diesem Killefit-Anlass unbedingt HTML-Mails senden musst, dann musst du dennoch noch einen Nur-Text-Teil mitmailen, damit die User, deren Clients keine HTML-Emails darstellen können oder sollen auch was darzustellen haben.

        PHP-Code:
        require('phpmailer/class.phpmailer.php');
            
        $mail = new PHPMailer();
            if ( 
        $html ) {
                
        $mail->IsHTML(true);
                
        $mail->Body     $html;
                
        $mail->AltBody     $text;
            } else {
                
        $mail->Body     $text;
            }
            
            
        $mail->From     'ab@sender.de';
            
        $mail->FromName 'AdminName';
            
        $mail->AddReplyTo('ab@sender.de');
            
        $mail->Sender     'ab@sender.de';
            
        $mail->CharSet  =  'utf-8';
            
            
        $mail->AddAddress($email);
            
            
            
        $mail->Send();
            
        $mail->ClearAddresses(); 
        PHP-Code:
        if ($var != 0) {
          
        $var 0;

        Kommentar


        • #5
          Vielen Dank für die Hilfe. PHPMailer war genau das was ich gesucht habe. Damit werden sogar die html mails im t-online e-mail center angezeigt.

          mfg Jojo

          Kommentar

          Lädt...
          X