kostenloser Webspace werbefrei: lima-city


Mail mit html und PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    Hallo,
    ich würde gerne eine Mail schreiben, die sowohl HTML als auch PHP enthält. Wenn ich alles einfach einfüge, ist nichts so, wie es soll...

    Worauf muss ich achten?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich würde dir raten die Mails nicht mit der mail() Funktion zu versenden,
    sondern mit PHPMailer.
  4. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    sneppa schrieb:
    Ich würde dir raten die Mails nicht mit der mail() Funktion zu versenden,
    sondern mit PHPMailer.


    Mach ich
  5. rate schrieb:
    Mach ich

    Machst du dies bereits, oder ab jetzt?
  6. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    sneppa schrieb:
    rate schrieb:
    Mach ich

    Machst du dies bereits, oder ab jetzt?


    Mach ich bereits...
  7. Ja und dort kannst du einen normalen Body und einen HTML Body übersenden.

    HTML-Version:
    $mail->Body = nl2br($text);


    Nicht HTML-Version:
    $mail->AltBody = strip_tags($text);


    Aber was funktioniert denn genau nicht?

    Wenn ich alles einfach einfüge, ist nichts so, wie es soll...

    Ist ja nicht wirklich eine Fehlerbeschreibung

    Kleines Tutorial:
    http://www.tanmar.info/content/view/36/64/

    Beitrag zuletzt geändert: 1.6.2011 16:48:13 von sneppa
  8. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    Ich habe ein Textfeld gemacht, bei dem ich den Text eingeben kann. Wenn ich mein HTML Zeug einfach reinkopiere, steht wirres zeug da :D
  9. Glaubst du, dass diese Beschreibung irgendjemandem hier weiter hilft?

    Poste doch bitte PHP-Code und das HTML Formular.
    Außerdem Quelltext der Email und zusätzlich ein Screenshot was dich stört.
  10. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    sneppa schrieb:
    Glaubst du, dass diese Beschreibung irgendjemandem hier weiter hilft?

    Poste doch bitte PHP-Code und das HTML Formular.
    Außerdem Quelltext der Email und zusätzlich ein Screenshot was dich stört.


    Jup, dachte ich...

    <?php 
    if(isset($_POST['submit'])) {
    $absendername = $_POST['absendername'];
    $absendermail = $_POST['absendermail'];
    
    $betreff = $_POST['betreff'];
    $text = $_POST['text'];
    
    $empfaenger = explode('|', $_POST['empfaenger']);
    
    $extra = "From: $absendername <$absendermail>\n";
    $extra .= "Content-Type: text/html\n";
    $extra .= "Content-Transfer-Encoding: 8bit\n";
    
    foreach($empfaenger as $e) {
     $i++;
     $mail = mail($e, $betreff, $text, $extra);
     if($mail = true) {
      $meldung .= "<span style='color: #00ff00;'>Mail erfolgreich an ".$e." gesendet.</span><br>\n";
     }elseif($mail = false) {
      $meldung .= "<span style='color: #ff0000;'>Mail nicht erfolgreich an ".$e." gesendet.</span><br>\n";
      }
    }
    }
    
    
    
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <title>E-Mail's versenden</title>
    </head>
    <body>
    
    <form method="post">
    An:<textarea name="empfaenger"></textarea><br>
    <br>
    Von:<input type="text" name="absendername" /><br>
    Von:<input type="text" name="absendermail" /><br>
    <br>
    Betreff: <input type="text" name="betreff" /><br>
    <br>
    Text: <textarea name="text"></textarea><br>
    <br>
    <br>
    <input type="submit" value="Senden" name="submit" />
    </form>
    
    <?=$meldung?>
    </body>
    </html>


    Was mich stört: Wenn ich HTML einfüge, wirds nicht richtig dargestellt - ein Bild wird da nicht viel helfen.
  11. du musst den Email Clienten auch klar machen das da jetzt was in html kommt

    hier mal ein kurzes bsp.

    $empfaenger = "du@testkarnickel.de";
    $absender   = "ich@testkarnickel.de";
    $betreff    = "Mail-Test - HTML-E-Mail mit PHP erstellen";
    $antwortan  = "ICH@testkarnickel.de";
    
    $header  = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=iso-8859-1\r\n";
    
    $header .= "From: $absender\r\n";
    $header .= "Reply-To: $antwortan\r\n";
    $header .= "X-Mailer: PHP ". phpversion();
    
    mail( $empfaenger,
          $betreff,
          $mailtext,
          $header);


    Das Wichtige hierbei ist die MIME-Version, der Content-Type und der X-Mailer
  12. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    deep-shades schrieb:
    du musst den Email Clienten auch klar machen das da jetzt was in html kommt

    hier mal ein kurzes bsp.

    $empfaenger = "du@testkarnickel.de";
    $absender   = "ich@testkarnickel.de";
    $betreff    = "Mail-Test - HTML-E-Mail mit PHP erstellen";
    $antwortan  = "ICH@testkarnickel.de";
    
    $header  = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=iso-8859-1\r\n";
    
    $header .= "From: $absender\r\n";
    $header .= "Reply-To: $antwortan\r\n";
    $header .= "X-Mailer: PHP ". phpversion();
    
    mail( $empfaenger,
          $betreff,
          $mailtext,
          $header);


    Das Wichtige hierbei ist die MIME-Version, der Content-Type und der X-Mailer


    Das ist also das Wichtige?
    $header = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $header .= "X-Mailer: PHP ". phpversion();

    Hab ich in mein Script eingefügt und ist wie zuvor. Bis jetzt nur HTML, falls es wichtig sein sollte. :)

    Beitrag zuletzt geändert: 1.6.2011 19:22:47 von rate
  13. rate schrieb:
    Was mich stört: Wenn ich HTML einfüge, wirds nicht richtig dargestellt - ein Bild wird da nicht viel helfen.

    Schlag dir HTML Mails aus dem Kopf. Es gibt keinen Standard für HTML Mails und mein Mailclient unterstützt HTML Mails überhaupt nicht. Von daher hast du wirklich Null Garantie, dass du bei allen Empfängern was vernünftiges angezeigt bekommst. Zumal HTML Mails auch ein gewisses Sicherheits- und Datenschutzrisiko mit sich bringen.
  14. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    bladehunter schrieb:
    rate schrieb:
    Was mich stört: Wenn ich HTML einfüge, wirds nicht richtig dargestellt - ein Bild wird da nicht viel helfen.

    Schlag dir HTML Mails aus dem Kopf. Es gibt keinen Standard für HTML Mails und mein Mailclient unterstützt HTML Mails überhaupt nicht. Von daher hast du wirklich Null Garantie, dass du bei allen Empfängern was vernünftiges angezeigt bekommst. Zumal HTML Mails auch ein gewisses Sicherheits- und Datenschutzrisiko mit sich bringen.


    Eine andere Möglichkeit gibts aber nicht. Wenn du schon einen Mac hast, nehmen wir als Beispiel Apple. Wenn dies nicht mit HTML lösen, wie dann?

    Auch wenns Lücken gibt. Wär mir wichtig, wenn ich es irgendwie hinbekomme.
  15. rate schrieb:
    bladehunter schrieb:
    Schlag dir HTML Mails aus dem Kopf. Es gibt keinen Standard für HTML Mails und mein Mailclient unterstützt HTML Mails überhaupt nicht. Von daher hast du wirklich Null Garantie, dass du bei allen Empfängern was vernünftiges angezeigt bekommst. Zumal HTML Mails auch ein gewisses Sicherheits- und Datenschutzrisiko mit sich bringen.


    Eine andere Möglichkeit gibts aber nicht. Wenn du schon einen Mac hast, nehmen wir als Beispiel Apple. Wenn dies nicht mit HTML lösen, wie dann?

    Äh, wieso sollte ich einen Mac haben? Was ist das für eine komische Logik?

    Und es gibt nunmal keinen Standard für HTML Mails. Akzeptiere das. Es gibt keinen Workaround.
  16. blady, mit PHP Mailer kannst du ohne Probleme eine Mail verschicken, die sowohl HTML anzeigen kann, als auch Klartext.
    Damit kannst du sicher sein, dass es jeder so angezeigt bekommt, wie er möchte.
    Natürlich werden Emails nicht überall zu 100% gleich angezeigt,
    das ist aber bei Browsern auch nicht anders.

    Mac, davon hat er aber nichts geschrieben...

    @rate:
    Er benutzt ja nicht die mail() Funktion von PHP sondern die Klasse PHPMailer

    Wobei du es mal in der Variable $extra unterbringen könntest.
    Soweit ich weiß ist das aber nicht nötig bei PHPMailer, habe für Unternehmen schon Newsletter damit versandt, auch HTML.

    Einen Screenshot von der "merkwürdigen" Emaildarstellung hast du noch immer nicht gezeigt,
    vielleicht liegt es auch nicht am HTML sondern an der Nutzung von Divs, Spans etc.
    In Mails immer Tabellen verwenden!
    Kannst ja mal nach Newsletter Tipps in Google suchen,
    ist ein Thema für sich.

    Verschoben nach PHP & MySQL
  17. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    Das mit Mac war ein Lesefehler^^ Sorry, aber vll kennst du die Apple Mails trozdem.

    Bild:
    http://imageshack.us/photo/my-images/192/abcdefghi.png/ Edit: falsches Bild^^

    Wär nett, wenn du es in mein Script einbauen könntest, versteh noch nicht ganz, was du meinst.

    Beitrag zuletzt geändert: 1.6.2011 20:10:56 von rate
  18. Du hast im ersten Post geschrieben,
    dass dein Problem die Email ist,
    jetzt ist es plötzlich das Eingabe-Formular...

    Wie wäre es mit einem Link zur betroffenen Seite?
  19. Autor dieses Themas

    rate

    rate hat kostenlosen Webspace.

    sneppa schrieb:
    Du hast im ersten Post geschrieben,
    dass dein Problem die Email ist,
    jetzt ist es plötzlich das Eingabe-Formular...

    Wie wäre es mit einem Link zur betroffenen Seite?



    Falsch verstanden. Das Formular ist richtig, wird nur falsch angezeigt.
  20. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!