mail() funktioniert nicht

  • Hallo, ich möchte gerne mit der mail()-Funktion eine Mail versenden, wenn ein User sich registriert hat (was wunderbar funktioniert). Die Seite liegt auf einem Nitrado-Webspace (dort sollte es funktionieren, oder?).


    So sieht's momentan aus.



    PHP: register.php
    $empfaenger = $email;
    $betreff = "Registration fast abgeschlossen";
    $from = "From: XXX <info@XXX.xx>";
    $text = "Hallo $uname num die Registrierung abzuschließen, klicke bitte auf den folgenden Link: http://www.xxx.xx/reg-aktivieren.php?ID=$ID&Aktivierungscode=$acode";
    mail($empfaenger, $betreff, $text, $from);

    Mache ich etwas falsch? Würde mich über jede Hilfe freuen :)


    Gruß
    Crowley

  • Ich würde eine Kleinigkeit ändern und zwar:


    PHP
    $empfaenger = $email;
    $betreff = "Registration fast abgeschlossen";
    $from = "From: XXX <info@XXX.xx>\n";
    $from .= "Content-Type: text/html\n";
    $text = "Hallo ".$uname." num die Registrierung abzuschließen, klicke bitte auf den folgenden Link: http://www.xxx.xx/reg-aktivieren.php?ID=".$ID."&Aktivierungscode=".$acode;
    mail($empfaenger, $betreff, $text, $from);
  • Hier mal eine etwas vernünftigere E-Mail-Funktion. (UTF-8 & HTML-Mail) - Wird in alle gängigen E-Mail Programmen ordentlich angezeigt.


    Chief Technology Officer (CTO)


    Interesse an folgenden Domains?

    fivemp.de - planet-zoo.de

    Jetzt anschreiben :)

  • Ist die Mail Funktion ggfs. vom Hoster blockiert oder ist dies dein eigner Server?
    Ansonsten ist der Port 25 auch offen?
    Und ist die Mail vielleicht im Spam Ordner oder vom Mailserver abgelehnt wurden?

    Meines Wissens nach erlaubt Nitrado die Funktion, ist ein Nitrado Webspace. In der Webspace Übersicht im CP steht "SMTP Port: 25 (STARTTLS) also gehe ich mal davon aus, das der Port offen ist? Im Spam-Ordner ist auch keine Mail gelandet. Wie kann ich sehen/erkennen ob die Mail abgelehnt wurde?


    Gruß

  • Was gibt die Funktion zurück?
    True oder False nach dem absenden, ob die abgelehnt wurde kannst du nur sehen, sofern dies dein Mailserver ist und du Zugriff auf den Log hast.
    Ansonsten kannst du gerne an meine Mail senden support@wbb-elite.de dort kann ich dann in log nachsehen. Bitte die Uhrzeit sagen und von welcher Mail Adresse du geschickt hast, dann finde ich dies schneller.


    Und viele Mailserver blockieren gesendet E-Mails die über die PHP Funktion gesendet wurden, weil dies leider oft für Spammails verwendet wird. Am besten ist immer übe einen SMTP-Server zu versenden. Es gibt auf Github einn Fertigen Code PhpMailer heißt der.
    Kannst du mal austesten, kann auch PHP-Mail :)

  • PhpMailer probiere ich gerade auch, sieht aber nicht danach aus als ob ich es hin bekommen würde. Habe einen Account auf meiner Seite registriert mit deiner E-Mail Adresse, Mail müsste also raus sein, ich zumindest, habe keine erhalten..

  • PhpMailer probiere ich gerade auch, sieht aber nicht danach aus als ob ich es hin bekommen würde. Habe einen Account auf meiner Seite registriert mit deiner E-Mail Adresse, Mail müsste also raus sein, ich zumindest, habe keine erhalten..

    Beim PHPMailer kannste halt dann auf die Error Eigenschaft zugreifen und dir ausgeben lassen, was der Fehler ist, wenn du keinen Log-Zugriff hast.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!