Dennis R.: Mercury liefert Fehler 553 Unbalanced '<' bei PHP mail()

Hallo Leute,

ich habe bis jetzt erst wenige Foren mit meinem Problem gefunden.

Vor ein paar Tagen habe ich in unser Firma einen Webserver(XAMPP 1.5.5) für das lokale Intranet installiert. Auf dem Server habe ich die neuste Version von Joomla(CMS) aufgespielt.

Wenn ich nun direkt über Mercury eine E-Mail versende funktioniert es alles einwandfrei. Will ich jetzt aber über Joomla auf dem Webserver eine Mail versenden, erscheint folgende Fehlermeldung:

553 5.0.0 <Max Mustermannmax@mustermann.de... Unbalanced '<'

Um sicher zu stellen das es nicht von dem Joomla(was allerdings auszuschließen ist) kommt habe ich ein Testscript, das die Mailfunktion von PHP benutzt, auf dem Server erstellt. Doch die liefert den gleichen Fehler.

Das Script:
-------------------------------------------------------------
$message = "nachricht";

$headers .= "From:" . $absender . "\n";
$headers .= "Reply-To:" . $absender . "\n";
$headers .= "X-Mailer: PHP/" . phpversion(). "\n";
$headers .= "X-Sender-IP: $REMOTE_ADDR\n";
$headers .= "Content-type: text/html\n";

$absender = "Peter Planlosp.plan@los.de";

mail ("Max Mustermannmax@mustermann.de","Betreff",$message, $headers);
-------------------------------------------------------------

Wenn ich jetzt allerdings den Namen und das erste "<" weglasse kommt die E-Mail an. Das bedeutet das von Mercury vor die E-Mailadresse ein "<" geschrieben wird.

Das veränderte Script:
-------------------------------------------------------------
$message = "nachricht";

$headers .= "From:" . $absender . "\n";
$headers .= "Reply-To:" . $absender . "\n";
$headers .= "X-Mailer: PHP/" . phpversion(). "\n";
$headers .= "X-Sender-IP: $REMOTE_ADDR\n";
$headers .= "Content-type: text/html\n";

$absender = "Peter Planlosp.plan@los.de";

mail ("max@mustermann.de>","Betreff",$message, $headers);
-------------------------------------------------------------

Die E-Mailadresse schein richtig an Mercury(Core Prozess) übergeben zu werden, doch im MercuryC Modul wird dann das verdammte größer als("<") Zeichen angehängt.

Jetzt könnte ich die Stelle in Joomla verändern, in der Absender zusammengesetzt wird, doch ich finde die Stelle nicht und das löst das Problem nicht. Denn wenn ich irgendwann eine neue Komponente / Script, die/das eine Mail versendet, installiere, müsste ich sie/es immer vorher umschreiben.

Vielleicht weiß ja von euch jemand eine Lösung, ich denke da muss man irgendeine Option der PHP.ini oder so verändern.

MFG Dennis

  1. Hallo,

    ich habe bis jetzt erst wenige Foren mit meinem Problem gefunden.

    irgendwie erinnere ich mich, dass du vor einigen Tagen (naja, eher vor ein paar Wochen) schon einmal mit genau diesem Problem hier aufgeschlagen bist.

    Wenn ich nun direkt über Mercury eine E-Mail versende funktioniert es alles einwandfrei. Will ich jetzt aber über Joomla auf dem Webserver eine Mail versenden, erscheint folgende Fehlermeldung:
    553 5.0.0 <Max Mustermannmax@mustermann.de... Unbalanced '<'

    Und warum hast du die Hinweise auf den nur allzu offensichtlichen Fehler damals konsequent ignoriert?

    $absender = "Peter Planlosp.plan@los.de";

    Dass hier ein Leerzeichen als Trenner zwischen Klartextname und Mailadresse hingehört, habe ich dir damals schon gesagt.

    mail ("Max Mustermannmax@mustermann.de","Betreff",$message, $headers);

    Sonst erkennt Mercury anscheinend nur das abschließende '>', aber nicht das einleitende '<' mittendrin.

    Vielleicht weiß ja von euch jemand eine Lösung, ich denke da muss man irgendeine Option der PHP.ini oder so verändern.

    Nee, man muss nur die Empfänger- und Absenderadresse richtig schreiben.

    So long,
     Martin

    --
    Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.
    1. Hi Martin,

      ich habe bis jetzt erst wenige Foren mit meinem Problem gefunden.

      irgendwie erinnere ich mich, dass du vor einigen Tagen (naja, eher vor ein paar Wochen) schon einmal mit genau diesem Problem hier aufgeschlagen bist.

      Leider wurde das Topic das letzte mal Recht schnell archiviert und das Forum ist doch für Hilfe da. Und das ich wieder hier bin zeugt wohl davon das keiner der Tips was genüzt hat.

      Wenn ich nun direkt über Mercury eine E-Mail versende funktioniert es alles einwandfrei. Will ich jetzt aber über Joomla auf dem Webserver eine Mail versenden, erscheint folgende Fehlermeldung:
      553 5.0.0 <Max Mustermannmax@mustermann.de... Unbalanced '<'

      Und warum hast du die Hinweise auf den nur allzu offensichtlichen Fehler damals konsequent ignoriert?

      $absender = "Peter Planlosp.plan@los.de";

      Dass hier ein Leerzeichen als Trenner zwischen Klartextname und Mailadresse hingehört, habe ich dir damals schon gesagt.

      Ich habe es natürlich ausprobiert, aber das leerzeichen ist völlig egal! Wenn es so ein kleiner Fehler wäre, wäre ich nicht hier. Joomla wird sicher nicht nur von mir genutzt, sondern befindet sich weltweit bestimmt noch 50000 mal im Einsatz und keiner hat mit der Mailfunction Probleme. Es liegt definitiv an PHP oder Mercury!

      mail ("Max Mustermannmax@mustermann.de","Betreff",$message, $headers);

      Sonst erkennt Mercury anscheinend nur das abschließende '>', aber nicht das einleitende '<' mittendrin.

      Vielleicht weiß ja von euch jemand eine Lösung, ich denke da muss man irgendeine Option der PHP.ini oder so verändern.

      Nee, man muss nur die Empfänger- und Absenderadresse richtig schreiben.

      Erst lesen, Script auf eigenem Server ausprobieren, feststellen das alles korrekt ist, nachdenken und dann eine konstruktive Antwort geben oder die Tastatur schonen. ;)

      Aber trotzdem Danke, für dein Tip

      1. Hallo,

        Dass hier ein Leerzeichen als Trenner zwischen Klartextname und Mailadresse hingehört, habe ich dir damals schon gesagt.
        Ich habe es natürlich ausprobiert, aber das leerzeichen ist völlig egal! [...] Es liegt definitiv an PHP oder Mercury!

        Weder noch. Ich benutze Mercury selbst, und habe schon des öfteren mit PHP Mails verschickt; nach deinem Posting im Mai habe ich auch die Variante mit und ohne Blank als Trenner ganz konkret ausprobiert. Deswegen weiß ich, dass Mercury bei der Adressangabe ohne trennendes Blank zickt, und sobald das Leerzeichen drin ist, lammfromm mitspielt.

        Nee, man muss nur die Empfänger- und Absenderadresse richtig schreiben.
        Erst lesen, Script auf eigenem Server ausprobieren, feststellen das alles korrekt ist, ...

        Habe gelesen; Script auf eigenem Server ausprobiert; festgestellt, dass Mercury ohne das Leerzeichen nicht mitspielt; festgestellt, dass es prima läuft, wenn man das Leerzeichen ergänzt. Und nu?

        Ciao,
         Martin

        --
        Kleine Geschenke erhalten die Freundschaft.
        Große verderben sie aber meist auch nicht.
        1. Es liegt NICHT an dem Leerzeichen!!!
          Ich habe es auch mit Leerzeichen ausprobiert!!!
          Auch Wenn ich den Namen ganz weglasse oder das Script von dir nehme!!! Ich habe schon mindesten 20 Scripte mit der Mailfunktion geschrieben, die alle funktionieren. Aber du darfst gern zu mir kommen und dir es ansehen.^^

          Wenn ich mit mail() ne eMail sende muss die Adresse "p.plan@los.de>" heißen oder es geht nicht. Ich will aber auch nicht jedes Script umbauen, in eine Variante die von der Syntax falsch ist.

          Danke, Martin...aber hat noch wer ne andere idee?