Seite 1 von 2
E-Mails kommen nicht an
Verfasst: 16.03.2007 12:49
von MKAA
Ich habe ein Problem:
In meinem Board kommen die versendeten E-Mails weder beim Empfänger, noch beim Versender an. Das gilt auch für die Bestätigungs-Link-E-Mail bei der Anmeldung (also automatische E-Mails). Eine Fehlermeldung wird nicht angezeigt. Alles funktioniert, nur nicht, dass die E-Mails im Posteingang der E-Mail-Adressen ankommen.
Ich weiß nicht, woran das liegen könnte, weil ich an den Dateien
emailer.php und
usercp_email.php nichts geändert habe!
Übrigens: Ich habe es mal mit einem
SMTP-Server von
Yahoo versucht und habe alles richtig eingegeben. Aber beim Versand einer E-Mail kam folgende Fehlermeldung:
Could not connect to smtp host : :
DEBUG MODE
Line : 114
File : smtp.php
Verfasst: 16.03.2007 15:12
von gn#36
Hast du es schon hiermit versucht : KB:failed
Verfasst: 16.03.2007 20:01
von MKAA
Es kommen ja keine Fehlermeldungen!
Aber bei einem SMTP-Server kommt die obige Meldung!
Verfasst: 16.03.2007 20:16
von gn#36
Ok, ich tippe es liegt dann wohl am Mailserver, nicht am Forum. Bzw. bei SMTP an deinen Einstellungen...
Probiere mal ein Skript wie dieses kurze hier aus (bitte eigene Email Adresse eingeben):
Code: Alles auswählen
<?php
$empfaenger = '--HIER_EMAIL_ADRESSE--';
$text ='TESTTEXT ob die Mail verschickt wird';
$betreff ='Mail um den Versand zu testen';
$headers ='From: Karl Heinz Otto <absender@beispiel.de>';
error_reporting(E_ALL);
if(mail($empfaenger,$betreff,$text,$headers))
{
echo "Jau, ist weg.";
}
else
{
echo "Nix verschickt, da gab's einen Fehler";
}
?>
Wenn da eine Fehlermeldung kommt, bitte Posten, wenn die Mail hier abgeschickt wird, aber nicht ankommt, dann liegt's definitiv am Mailserver und du solltest deinen Hoster kontaktieren.
Verfasst: 17.03.2007 11:06
von MKAA
Also das hat jetzt funktioniert. Die E-Mail ist angekommen. Also liegt es nicht am Hoster!
Ich kann ja meine PHP-Dateien online setzen. Sagt mir nur welche!
Verfasst: 17.03.2007 21:01
von gn#36
Wäre ja auch zu schön, wenn es so einfach wäre. Ok. Als erstes würde ich jetzt mal versuchen, die Original includes/emailer.php Datei hochzuladen. Vielleicht ist da ein Fehler drin gelandet (wie auch immer).
Bist du dir sicher, dass der Fehler bei allen Mails auftaucht?
Dann ist es extrem unwahrscheinlich dass der Fehler an anderer Stelle zu finden ist als in dieser Datei, denn die ist so ziemlich die einzige Gemeinsamkeit. Falls das das Problem nicht behebt müssen wir wohl weiter schauen. Du solltest allerdings vor dem Test sicherstellen, dass du von SMTP wieder auf PHP Mail umgeschaltet hast (im ACP den Versand über SMTP deaktivieren).
Verfasst: 18.03.2007 20:35
von MKAA
Ich habe die originale emailer.php hochgeladen und den Test durchgeführt. Die gesendete E-Mail ist leider nicht angekommen.
Ich glaube schon, dass der Fehler alle E-Mails betrifft, weil sowohl boardinterne User-E-Mails als auch automatische E-Mails (Account-Aktivierungs-~, Benachrichtigungs-~) nicht ankommen.
Früher hat es aber mal geklappt, dass sie ankamen. Der Fehler könnte also durch irgendwelche Modifikationen entstanden sein.
Hier mal eine Liste:
- Karma- (oder Renommee-) Mod
- Cash-Mod + Shop-Mod
- CrackerTracker
- BBCodes:
- ShoutBox
- Intro + Portal
- Wer-war-online?-Mod
- Download-Mod
- Report Post Mod
- Arcade-Mod von dEfEndEr +Spiele
- Passwortsicherheit
- PNs über das Adminpanel lesen
- Easy-Mod Beta3
- Junior-Admin
- aktive/Inaktive User über das Adminpanel sehen
So, ich hoffe, ich habe nichts vergessen.
Verfasst: 18.03.2007 21:12
von gn#36
Weißt du noch, welchen Mod du als letztes eingebaut hattest, bevor es Probleme gab? Weil die Emailfunktionen so extrem verteilt sind müsste es sonst eine ganze Reihe an Fehlern sein wenn keine Mail ankommt.
Es irritiert mich aber vor allem, dass es eine Fehlermeldung gibt, wenn man versucht mit SMTP eine Mail zu verschicken, aber keine wenn man es mit PHP tut.
Vielleicht probieren wir mal das ganze zu prüfen.
(Bitte vorher ein Backup der Datei machen, der Code ist nur zum Debuggen gedacht und sollte hinterher wieder raus)
Suche in der emailer.php Datei
Code: Alles auswählen
$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
testweise danach mal ein
Code: Alles auswählen
echo " Die Mail wird jetzt verschickt.<br>\n";
echo "Daten: <br>\n
<b>An:</b> $to<br>\n
<b>Betreff:</b> ".$this->subject ."<br>\n
<b>Header:</b> ".nl2br($this->extra_headers)."<br>\n
<b>Ergebnis des Versands</b> : '$result'";
Das sollte beim Versand eine entsprechende Ausgabe erzeugen, die oberhalb des Forums erscheint und vermutlich ein paar Warnings "Can't modify Header information" nach sich zieht.
Wenn diese Ausgabe erscheint, dann ist die letzte Zeile besonders wichtig. Hier sollte stehen ob der Versand erfolgreich war oder nicht (wenn nicht sollten nur Anführungszeichen oder eine 0 zu sehen sein). Am besten dann mal die ganze Meldung posten.
Wenn keine Meldung kommt, dann wird die Funktion gar nicht erst aufgerufen. Dann müssten wir uns wohl die aufrufenden Dateien näher ansehen.
Du solltest diese modifizierte Datei nur sehr kurz auf deinem Webspace haben, da über die Extra header theoretisch jeder, der einen Post absendet alle Email Adressen bekommt, an die dieser Post als Benachrichtigung geht (in den extra Headers). Also hochladen testen und direkt wieder ersetzen.
Verfasst: 19.03.2007 13:42
von MKAA
Schade, aber es wird leider nur eine weiße Seite angezeigt!
Hmm.......Es könnte sein, dass der Fehler existiert, seitdem ich den CrackerTracker 5.0.3 von CBACK.de eingebaut habe. Der macht mir sowieso Probleme, weil er mit seinem Security Alert immer falsch ausschlägt. Dann muss ich immer den Debug Mode aktivieren, damit in die logfile_debug_mode.txt Installationsanweisungen geschrieben werden, die ihn davon abhalten, falsch auszuschlagen. Das nervt!
Aber er hat eben auch seine guten Seiten und deswegen baue ich ihn ungerne wieder aus.
....Ich weiß, was ich mal probiere: Ich werde mal probeweise den Inhalt der dafür verantwortlichen ct_security.php löschen und dann eine E-Mail versenden.
=> funktioniert leider nicht
Verfasst: 19.03.2007 13:48
von gn#36
Das ist natürlich sehr gut möglich. Vor allem aber prüft der Cracker Tracker die Dateien auf Veränderungen (meine ich zumindest) und bricht die Ausführung bei Abweichungen ab. Dann kann man logischerweise die vorgeschlagenen Änderungen zum Test nur durchführen, wenn der Tracker ausgeschaltet ist...