mail() geht nicht mehr richtig

Thomasio

Erfahrenes Mitglied
Ich benutze seit Jahren ein PHP Script, was Daten aus MySQL liest und via mail() an diverse User verteilt.
Das Ganze hatte von Anfang an einen Schönheitsfehler, an dem der Provider Schuld ist, und der auch im PHP Manual erwähnt wird.
Header-Einträge sollten normalerweise mit \r\n voneinander getrennt werden, aber bei meinem Provider geht das nicht, also habe ich (wie im PHP Manual erwähnt) einfach \n verwendet.
Das hat so weit immer sauber funktioniert, auch mit 50 Mails an 50 verschiedene User hintereinander.

Seit ein paar Tagen kommen aber nur noch etwa die Hälfte aller gesendeten Mails an, 2 aus 4 oder 5 aus 8 oder so.
Erster Gedanke natürlich, Bremse einbauen, etwas Pause zwischen den Mails, macht aber keinen Unterschied.
Nächster Gedanke, ein Testscript schreiben, was NUR die mail() Funktion enthält, so dass der Rest drumrum nicht stört, dabei durfte ich feststellen, dass auch einzelne Mails öfter mal nicht ankommen.

Der folgende Code

Code:
echo mail("meinereiner@mydomain.com", "Mail Title", "Content", "From: MySelf<meinereiner@mydomain.com>");

sendet überhaupt keine Mail, auch nicht bei 10 Versuchen, gibt aber 1 für success aus.

Den folgenden Code habe ich irgendwo aus einem Forum kopiert, der funktioniert immer und ohne Probleme.

Code:
$headers = "From: MySelf <meinereiner@mydomain.com>";
$empfaenger = "meinereiner@mydomain.com";
$betreff = "Die Mail-Funktion";
$mail_body = "Hier der E-Mail Text";

mail($empfaenger, $betreff, $mail_body, $headers);

Ich sehe da aber keinen Unterschied.

Der langen Rede kurzer Sinn:
Nachdem das jahrelang funktioniert hat, muss mein Provider wohl irgendwas an den Einstellungen geändert haben, aber ich weiss nicht wie ich das überprüfen kann und schon gar nicht, wie ich das Ganze wieder zum Laufen bringe.
 
Hi.

Hast du den Kommentar hier gesehen:
After banging my head against the wall, I realized after my host updated PHP that the From line in the header requires quotes around the name where before it worked regardless. Otherwise it will report success, and not sent.

$headers .= 'From: "'. $Name . '" <' . $Email . '>' . "\r\n";
Gruß
 
Ja, den Kommentar habe ich gesehen, habe ich probiert, hilft nicht.
Provider fragen ist leider nicht so einfach, die haben ihre Webseite gerade umgebaut, und da wo früher mal "technischer Support" war ist jetzt Fehlanzeige, vermutlich nur beim Umbauen den Link vergessen, aber bis ich jetzt über andere Support Links, die mich evtl. dann weiter verweisen können, an den technischen Support komme, ist mindestens eine Woche rum.
Ich weiss, das spricht nicht gerade für den Provider, aber für 2€ pro Monat inkl. unlimitiert Speicherplatz und unlimitiert Traffic kann man halt nicht mehr erwarten.

Witzig ist, ich habe noch eine zweite HP beim selben Provider, auf der geht alles nach wie vor ohne Probleme, auch der Code der auf der ersten Seite nicht geht.
 
Hast du schon gecheckt ob es garnicht an deinem Mailserver liegt sondern an dem der Adressaten?

Es kann gut sein dass da Spamfilter geupdatet wurden oder du gar in eine Blacklist gerutscht bist.
 
Hallo!

Witzig ist, ich habe noch eine zweite HP beim selben Provider, auf der geht alles nach wie vor ohne Probleme, auch der Code der auf der ersten Seite nicht geht.
Hat nichts zu sagen.
Ein Hoster wird i.d.R. immer mehrere Server stehen haben.
Und er ist gut beraten, wenn er nicht alle Server (mehr oder weniger) zeitgleich updatet. ;)
Mit anderen Worten: die Probleme die Du jetzt hast, könnten evtl. auch für die 2. HP noch auf Dich zukommen.

Gruss Dr Dau
 
Ich bin dabei die Seite zu überarbeiten, und während ich dran arbeite geht alle Mail an denselben Empfänger, nämlich mich selbst.
Es kann nicht sein, dass mein Spamfilter da Probleme macht, denn ich habe auf dem Testaccount gar keine Filter eingestellt.

Immerhin habe ich mittlerweile eine E-Mail-Adresse von Support bekommen, angeblich antworten die innerhalb 24 Stunden, schaun mer mal.
 
Zurück