E-mail mit HTML Text

  • Hi

    Wie kann ich ein email mit PhP mit HTML Text sende?
    Ich habs so probiert:

    PHP
    $link = NULL;
            $link = BASE_PATH."?option=activate&id=".$number;
    
    
            $mail_empfaenger = $_POST['email'];
            $mail_absender= SITE_TITLE."@server.ch";
            $betreff = "Aktivierung Ihres Kontos";
            $text = "Guten Tag<br/>Sie haben sich auf der Site ".SITE_TITLE." angemeldet. Um die Anmeldung abzuschliessen,
                        müssen Sie auf den Aktivierungslink klicken.<br/>".$link."<br/><br/>Mit freundliche Grüssen<br/>".SITE_TITLE;
            mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");

    Aber es "übersetzt" die <br/> nicht. An was liegt das?

  • Tue dir selber einen Gefallen und sieh' dir den phpMailer an, damit ist das kein Problem.

  • ok, ich hab ja XAMPP installiert mit dem Mercury mail server. Danach hab ich mir den Phpmailerv2.3 heruntergeladen.
    Anschliessend hab ich die Dateien des Mailers so angeortnet:
    |-phpmail
    |--class.phpmailer.php
    |--class.pop3.php
    |--class.smtp.php
    |--mail.php
    |--language
    |---alle sprachen

    Die mail.php ist ja von phpmailer eine test datei für das versenden von Nachrichten. Sie sieht so aus:

    Bei Mercury hab ich folgende Einstellungen

    Mercury Core Module - General
    Internet name for this system: localhost
    Username of postmaster: Admin

    Mercury Core Module - Local domains
    localhost - localhost.net
    localhost - localhost.org
    localhost - localhost.com
    localhost - localhost

    Mercury SMTP Server
    Announce myself as: <leer>
    TCP/IP timeout: 30
    ESMTP maximum size: 0 (0 bedeutet ja das es ignoriert wird, oder?)
    Listen on TCP/IP port: 25 Alternate port: 0
    IP Interface to use: 127.0.0.1

    Mercury SMTP Server - Connection control
    127.0.0.1 - 127.0.0.1 Allow true


    Mercury SMTP Server - SSL
    1 Enable support for SSL/TLS secure connections

    Mercury SMTP Client
    Identify myself as: localhost
    Name servers:
    localhost


    Users defined for this system
    Name: Admin
    Pass: test


    Fehler Meldung des Scripts:
    Message could not be sent. Mailer Error: SMTP Error: Could not connect to SMTP host.

    Beim Telnet mit o 127.0.0.1 25
    kommt localhost ESMTP server ready.

    Und beim Mercury SMTP SERVER steht:
    Connection from 127.0.0.1, Sat Mar 07 12:17:23 2009
    ehlo 192.168.1.2
    554 Invalid Helo format

    Fals ihr noch infos brauch schreibts einfach


    2 Mal editiert, zuletzt von minder (7. März 2009 um 12:19)

  • Mit dem Mercury-Server kenne ich mich nicht wirklich aus,aber versuche doch mal über einen existierenden Mail-Account die Mail zu versenden. Du musst nur die gleichen Daten eintragen, wie du sie in deinem eMail-Client stehen hast.

  • ne geht auch nicht.


    Sehr ausführliche Problembeschreibung. Natürlich geht das mit dem phpMailer, mache ich auf meinem Rechner regelmäßig.

  • HTML mit PHP geht ohne Probleme.
    Schau: http://de3.php.net/manual/de/function.mail.php

    Dort findest du dann folgendes:
    Du musst lediglich den header noch anpassen (dort wo jetzt "from:" steht.)

    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $header .= 'from:$mail_absender';

    Und jetzt packst du den $header einfach an den Schluss deiner mail-Funktion.

    MfG

    Frauen lügen nie, selbst wenn sie die Wahrheit nur erfinden müssen.
    Leute die mit gidf antworten wollen, sollten lieber gar nicht antworten. -> http://www.google.de/search?q=xyz tuts auch. :rolleyes:

  • In allen Ehren, aber den phpMailer zu benutzen, ist die eindeutig bessere Wahl. Mit deinem "sehr übersichtlichen" Header werden einige Spamfilter die Mail als Spam markieren. Nur mit einem ordentlichem RFC kommen die Mail auch sicher an. Und möchtest du dich hiermit ernsthaft auseinander setzen: http://tools.ietf.org/html/rfc2822

  • Jo wär sicher spannend:D

    Ich werd morgen nochmals probieren. Welchen mailteil brauchst du anstad mercury??

  • Man braucht ja wie z.B XAMPP zum Php auf dem lokalen rechner laufen zu lassen. So braucht man ja auch ein Programm das einen mailserver macht oder nicht:confused::confused:
    Ich hab ja für den Mailserver das Mercury. Welches benutzt du?


  • Ich schicke Mails von meinem Rechner z.B. über meinen GMX-Account raus.

    Aber Achtung, das Beispiel ist für eine ältere Version des phpMailers. Ob die Variablen der Klasse in der neuen Version genauso heißen, habe ich jetzt nicht verglichen.

  • Man braucht ja wie z.B XAMPP zum Php auf dem lokalen rechner laufen zu lassen. So braucht man ja auch ein Programm das einen mailserver macht oder nicht:confused::confused:

    XAMPP ist eine Software-Zusammenstellung, die das Aufsetzen eines lokalen Servers vereinfachen soll. Darin enthalten sind dann die einzelnen Module, wie z.B. der Apache Webserver, MySQL-Datenbank, Mercury Mailserver ... etc.

    Diese ganzen Dinge kann man auch einzel installieren und konfigurieren. Z.B. würde es für PHP schon reichen, nur den Apache Webserver zu installieren.

    MfG :)