Mailversand via PHP funktioniert nicht mehr

  • Hallo.

    Auf meinen Webseiten funktioniert die PHP-Funktion mail() nicht mehr. Die Funktion liefert den Wert '1' zurück, was Erfolg bedeutet. Dennoch werden keine Mails versendet.

    Besteht da aktuell ein generelles Problem? Der Mailer hat mindestens bis Donnertag Mittag funktioniert, anschließend nicht mehr, ohne dass Änderungen an der Seite vorgenommen wurden.

    Die PHP-Version ist 7.4.


    Gruß

    Kay

  • Wie werden die E-Mails versendet? Direkt über die php mail() Funktion? Wenn ja solltest du generell davon absehen und auf Klassen wie z.B. PHPMailer zurückgreifen.


    Ansonsten wäre es, um dir helfen zu können, nicht verkehrt wenn du den Code offenlegst welches die Mails versendet.

  • Ja, im Augenblick ist es die Funktion mail(). Die PHPMailer-Klasse werde ich mir noch näher anschauen.

    Im Augenblick möchte ich den Mailer aber so schnell wie möglich wiederherstellen, da ein Geschäft darauf angewiesen ist.


    Ich habe jetzt eine maximal einfache Datei hochgeladen:


    <?php

    echo mail(".......","Test Subject", "Testnachricht");

    ?>


    Bei Aufrufen wird auch eine "1" angezeigt, was laut PHP-Doku eine erfolgreiche Übergabe an den Mailserver ist.

    Trotzdem kommt keine Mail an.

  • Trotzdem kommt keine Mail an.

    Der Rückgabewert deines Scripts sagt höchstwahrscheinlich nur aus das die Mail verschickt worden ist aber was der zu empfangene Mailserver damit macht ist ja eine ganz andere Frage.


    Das Problem bei der mail() Funktion ist, das es hierbei keine Authentifizierungsmöglichkeit gibt. Früher war dies auch kein Problem aber heute weißen ein Großteil der Mailserver solche Mails ab. Deshalb solltest du dein Script umschreiben und z.B. obige genannte PHP Klasse in zusammenhang mit SMTP nutzen -> Beispiele

  • Dass diese Funktion ersetzt werden sollte, kann ich nachvollziehen und werde mich auch damit beschäftigen.


    Das erklärt nur nicht, warum es plötzlich aufhört zu funktionieren ... :/


    Darum ist meine Befürchtung, dass es mit PHPMailer dieselben Probleme geben könnte.

  • Darum ist meine Befürchtung, dass es mit PHPMailer dieselben Probleme geben könnte.

    Ausprobieren! Ansonsten das Script debuggen (was aber nicht viel bringen wird wenn die Mails wirklich rausgehen sollten).


    Den netcup Support kannst du auch kontaktieren aber wahrscheinlich werden die auch auf die Problematiken von mail() hinweisen und keinen spezifischen Support geben können.

  • Ich habe in dem Test an eine Mail-Adresse geschickt, die auch bei netcup gehostet ist - der Mailserver ist jeweils derselbe (mx2fa2.netcup.net).


    Und ja, der Support hat genau dieselbe Antwort gegeben. ;(

  • Mit dem PHPMailer konnte ich jetzt erfolgreich eine Mail schicken - die Sorge war also unbegründet.

    Werde die Klasse jetzt in die Webseite integrieren.


    Danke für eure Unterstützung! ^^

  • Entweder man nutzt composer oder, wie ich finde, den einfacheren Weg:
    Release von PHPMailer runterladen. Je nach Einsatzzweck die benötigte Dateien aus dem Archiv auf den Webspace hochladen. Meistens reichen folgende: PHPMailer.php, SMTP.php, Exception.php


    In die entsprechende PHP-Datei einbinden und losmailen, hier ein Beispiel:


    HTML-Mails und Anhänge etc sind natürlich auch möglich, hier hilft ein Blick in die oben bereits verlinkten Beispiele.

  • mal schauen das Ich die ganzen Daten zusammen bekomme

    Die kannst du einfach in deinem Mailclient ablesen, sofern dort dieselbe E-Mailadresse hinterlegt wurde. Naja okay, das Passwort wird man dort vermutlich hoffentlich nicht ablesen können. :/ (Ansonsten im WCP -> Mailbereich)

    Viel Erfolg! Bei Fragen: die Netcuppies sind für dich da. ^^:thumbup:

  • Die kannst du einfach in deinem Mailclient ablesen, sofern dort dieselbe E-Mailadresse hinterlegt wurde. Naja okay, das Passwort wird man dort vermutlich hoffentlich nicht ablesen können. :/ (Ansonsten im WCP -> Mailbereich)

    Viel Erfolg! Bei Fragen: die Netcuppies sind für dich da. ^^:thumbup:

    Hey danke, das war ja einfacher als gedacht.


    Es gehört zwar nicht zum Thema hier, aber gibt ggf. irgendwie eine Möglichkeit eine Subdomain "sicher" zu machen? Bei meinem Chrome steht immer "Die Verbindung mit der Webseite ist nicht sicher".=O

  • Pajoma

    Genau wie Thomas schreibt, per LetsEncrypt kannst du, genau wie bei einer normalen Domain, diese mit Zertifikat und permanenter 301 Weiterleitung (http->https) absichern. Im Grunde hast du, wenn du eine Subdomain als Webhosting hinzufügst, fast dieselben Einstellmöglichkeiten wie bei einer ganz normalen Domain auch.


    Falls es sich nicht um ein eigenständiges Webhosting mit Subdomain handelt, musst du uns deine Baustelle etwas genauer erläutern.

  • Ok, scheinbar hab Ich das was Ich versucht habe schonmal richtig gemacht, wenn Ich die Seite jetzt per https://sub.domain.de aufrufe erscheint sie als sicher.


    Aber kann er nicht irgendwie wenn Ich die Sub domain via sub.domain.de aufrufe er dann direkt auf https:// umspringen?


    Edit:

    Zertifikat ist gültig, aber nur bis Dez. dieses Jahres?! *confised*

  • Boah, auch das hat ja besser und sehr unproblematisch funktioniert. Das ja geil und Ihr habt 1 Menschen glücklich gemacht!


    Wenn Ihr mal Probleme habt beim fangen von Mäusen bin Ich euer Mann! :P