UTF 8 Problem mit E-Mail

  • Du hast ja Recht, aber der Provider, den ich angeschrieben habe, hat geantwortet, in diesem Fall ginge es nicht, ich brauchte sendmail. Nun ist es auch ok mit utf8, aber kein anklickbarer Link mehr und kein Sendedatum, was vorher da war. Ich bin leider noch nicht gut genug

  • Ich möchte ja gerne dazulernen, wenn Du eine Idee hast was ich machen kann würde ich mich natürlich freuen. Einbinden von PHP-mailer nützt nichts wie bei dem Kontakt-Formular und der Bestätigungsmail für Dateiupload

  • Einbinden von PHP-mailer nützt nichts wie bei dem Kontakt-Formular und der Bestätigungsmail für Dateiupload

    Das ist doch Quatsch! Wenn es beim Kontakt-Formular und der Bestätigungsmail funktioniert, dann gibt es keinen Grund, warum es in diesem Fall nicht gehen soll. Und dein Provider scheint auch NULL Ahnung zu haben! Mit dem phpMailer kann man immer per SMTP versenden, wenn man einen Mail-Account hat. Und wenn nicht, der phpMailer kann auch per sendmail versenden.

  • Wenn Du Dir die Mühe machen möchtest mir da zu helfen würde ich mich wirklich freuen. Vielleicht muss ich class.phpmailer was ändern? Hab dort schon Iso-8859-1 auf utf-8 geändert, aber dann wurden andere Texte falsch angezeigt

  • Vielleicht muss ich class.phpmailer was ändern?

    Auf keinen Fall! Die Dateien vom phpMailer sollest du nicht verändern. Alle möglichen Einstellungen kann man von außen steuern und nicht in den phpMailer-Dateien.


    Du kannst dir doch den Mail-Teil vom Kontaktformular rausziehen und dann entsprechend für diesen Fall anpassen.

  • Das Kontaktformular mit dem Mailer ist ja ok. Oben ist von der passwortvergessen.php der gesamte Code, falls Du Zeit und Lust hast, vielleicht weißt du, was da geändert werden muss. TimTim hat mir schon sehr geholfen. Aber dafür hab ich keine anklickbaren Links mehr in der Mail. Ist vertrackt. Versuche schon alles seit über 14 Tagen, jedenfalls alles, was ich bisher kann bzw. kenne

  • Ich versuche es nach diesem Beispiel umzubauen, aber dann wird die Seite nicht erkannt. Ich mach was falsch :(

  • Immerhin Fortschritt. Aber die Mail kommt nicht an nach dem Absenden. Falls ich Dir den Code, wie ich ihn jetzt habe, nochmal schicken dürfte zur Ansicht melde Dich bitte.

  • Bin mir nicht sicher was ich bei X-Mailer eintragen muss. Habe es mit der class.phpmailer.php versucht, aber dann zurückgesetzt

  • Hi Alien,


    du bringst da gerade einige dinge durcheinander in deinem Code, der PHP-Mailer ist eine eigene Klasse, wenn du den versandt der E-Mail selbst schreiben möchtest, lies dir mal bitte die gesamte Anleitung hier durch: https://www.php-rocks.de/thema…senden-mit-phpmailer.html

    noch verwendest du die standard mail() Funktion von PHP.


    Zu dem teil mit der html Mail un dem nutzen von HTML im E-Mailtext müsstest du im header von

    Content-Type: plain/text auf

    Code
    Content-Type: text/html;

    wechseln.


    Dann müsste sowas in deinem E-Mail Text funktionieren:


    Code
    $mailtext = "Ümlaute <a href='http://localhost'>http://localhost</a> <br/> Mehr text mit Umlauten äüö";


    Grüße


    Timo

  • Hi Timo,

    ich danke Dir. Werde es mir nochmal ansehen. Was Du mir gesagt hast, war ja schon sehr gut, nur das eben die generierten Links zum Passwort ändern nicht mehr als anklickbare Links funktionieren.

    Aber ich werde nochmal dran arbeite, falls ich hinbekomme melde ich mich. Vielen Dank nochmal für Deine Hilfe.

    Gruß

    Alien

  • Nur, um mal etwas Verständnis nahezubringen, das hier

    PHP
    mail($empfaenger, $betreff, $mailtext,implode("\r\n",$headers));

    bewirkt, dass Deine Mail nicht RFC konform ist! Und auch das kann u.U. bereits dafür sorgen, dass Du als Spam gewertet wirst.


    Lt. RFC müssen bspw. alle Mail Header mit einem CrLf enden, das was Du halt mit \r\n angibst.

    Das implode() aber arbeitet nicht so, dass alle Elemente des Array diese Sequenz angehängt bekommen, sondern lediglich jedes Folgeelement an sein Vorgängerelement über diese Sequenz angehängt wird. Falls der Groschen noch nicht gefallen ist:

    PHP
    $array = ['eins', 'zwei', 'drei'];
    echo implode( '<br>', $array );
    Code
    eins<br>zwei<br>drei

    Das letzte Element hat diese Sequenz nicht und entspricht damit im Bereich Mail nicht der RFC.


    Nimm das jetzt aber bitte nicht als Lösung für Dein Problem, denn das ist nur ein Tropfen auf dem heißen Stein!

    Mailer-Klassen nehmen Dir die RFC-Konformitäten weites gehend ab und sorgen so für möglichst saubere E-Mails.

  • Hallo Arne,

    Dir auch Danke für Deine Mühe. Ich lese gerade den Link wo Du es beschreibst, Aber das übersteigt meine Fähigkeiten. Ich denke ja immer: geht nicht gibt es nicht und hasse es, an meine Grenzen zu kommen. Aber das werde ich so nicht hinbekommen. Ist für Leute wie euch frustrierend und für mich gerade auch.

    Aber ich habe zumindest jetzt verstanden, WARUM das falsch ist, also vielen Dank. Aber noch gebe ich nicht auf. Was ich absolut nicht verstehe, warum der PHPMailer für das Kontaktformular und für die Versendung der Mails nach Upload funktioniert, nur nicht auf der vergessen.php

    Gruß Alien

  • Sorry, ohne Eigenlob verteilen zu wollen, aber das ist eine der simpelsten Anleitungen, den PHPMailer zu integrieren, die Du im Netz finden kannst.

    Wenn Dich das an Deine Grenzen bringt, würde ich Dir erst recht davon abraten, mail() zu verwenden, denn das erfordert deutlich mehr KnowHow, wenn man es richtig machen will!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!