Mails mittels mail()-Funktion kommen nicht an

  • Hallo,


    ich habe eine Seite, auf der sich ein Nutzer registrieren kann. Nach dem Klick auf "Registrieren" soll dem Nutzer eine E-Mail mit einem Link zur Bestätigung seiner Registrierung geschickt werden. Dafür habe ich die mail()-Funktion von PHP verwandt. Leider kommen die Mails nicht an. Getestet habe ich das Ganze mit einem IONOS Webspace und einer IONOS Absende E-Mail Adresse und einer IONOS und einer Outlook E-Mail Adresse als Ziel.


    Hier der Code für das Versenden der Mail:


    Code
    1. $to = $email;
    2. $subject = 'Registrierung';
    3. $url = 'https://www.example.de/registrierungsstatus.php?selector='.$selector.'&validator='.bin2hex($token);
    4. $message = '
    5. <p>Klicken Sie auf den folgenden Link, um Ihre Registrierung abzuschließen.</p>
    6. <a href="'.$url.'">'.$url.'</a>
    7. ';
    8. $headers = 'From: Example <mail@example.de>\r\n Reply-To: mail@example.de\r\n Content-type: text/html\r\n';
    9. mail($to, $subject, $message, $headers);


    Hier eine Testseite: tobiaspietsch.de/registrierung.php


    Wie kriege ich die Mails an die Zieladresse versandt?

  • Ein gaaaaaaaaanz alter Hut:


    Mit der PHP-Funktion mail() kann man E-Mails versenden. Aber damit hat der Entwickler oft viele Sorgen. Für den korrekten E-Mail Versand sind verschiedene Mail-Header notwendig. Ohne die richtigen Header bekommen viele Mail-Clients Probleme bei der Anzeige oder empfangen diese erst gar nicht. Allerdings ist es aufgrund der Komplexität sehr aufwändig, alle sich damit befassenden RFC-Dokumente selbst durchzuarbeiten und anzuwenden. Stattdessen sollte man Mailerklassen w.z.B. den phpMailer verwenden, die diese Header korrekt einbinden.


    Beispiel: PHP Mail funktioniert nicht

  • Bei deinem Code bekomme ich nirgends wo eine E-Mail verschickt.

    Wenn man den Header ändert, geht es , zumindest bei den getesteten E-Mail-Adressen die ich habe.

    Dir den richtigen Header Kram zu erklären würde ewig dauern , gerade wenn ich das mache, weil ich den auch nur zu Hälfte verstehe.


    m.scatello hat dir ja geschrieben, womit es geht.

    Download gibt es hier https://github.com/PHPMailer/PHPMailer

    Anleitung wie man den einbindet und benutzt ist in #2 verlinkt