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
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.
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.
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.