PHP Mails werden nicht rausgeschickt

goreaper

Cadet 3rd Year
Registriert
Nov. 2010
Beiträge
58
Hallo zusammen,
ich hab ein kleines Problem mit meinem Quellcode. Er sagt mir nach Ausführung die Mail wäre versand, aber es kommt keine an. Weiß evtl. jemand was ich falsch mache ?

$userid = $obj_getemail->Uid;
$vorname = $obj_getemail->Vorname;
$nachname = $obj_getemail->Name;
$empfaenger = $email;
$betreff = '[NoReply]Passwortanfrage bei BKB-Mitfahrgelegenheit';
$sql_changereset = mysql_query("UPDATE User SET Reset='".$reset."' WHERE Uid='".$userid."' LIMIT 1") or die(mysql_error()." Abfrage <b>sql_changereset</b> fehlgeschlagen.");
$mailtext=
'
Hallo '.$vorname.' '.$nachname.',<br>
<br>
...
';
mail($empfaenger, $betreff, $mailtext);
 
Du siehst nicht in die Logs des SMTP Servers. bzw. hast wahrscheinlich keine funktionierende From: Adresse.
 
"Er sagt mir nach Ausführung die Mail wäre versand" wer sagt das? oO
 
Schonmal auf die Idee gekommen, dass die Mail versendet wurde aber nicht ankommt? Spamfilter und so.
 
Kann auch einfach sein, dass der Server kein mail() unterstützt, sondern nur korrekten Versand via SMTP Auth mitmacht.... oder obiger Code einfach am heimischen PC ausgeführt wurde. Dann wäre eh alles klar.
 
Ok. Der Admin der Seite meinte die funktion Mail() sollte funktionieren. Ich teste es auf jeden Fall nicht lokal und die Mail wurde versand sagt mir ein echo, dass ich nach dem Versand raushaue. Im Spam landet die Mail auch leider nicht. Das habe ich überprüft. Das mit der funktionierenden From Adresse hört sich interessant an. Daran habe ich auch schon gedacht. Ich hoste die Seite bei Tipido.com. Was kann ich tun ?
 
Hi,

wie soll man das "echo raushauen" verstehen?

Code:
mail();
echo "Hau success raus";

???
 
echo'
<div class="mainbox" style="width:370px;">
<label class="title">Passwort zurücksetzen</label><br>
<br>
<label class="text">Eine Email an <b>'.$_POST['email'].'</b> wurde verschickt.</label>
</div>

Eher so ungefähr. Hmm kann durchaus sein, dass er blacklisted ist. Hmmm. Theoretisch müsst ich das aber doch trotzdem im Spamordner finden oder nicht ?
 
Dir ist klar dass das nicht bedeutet dass es auch funktioniert hat sofern das echo nicht an den Rückgabewert gekoppelt ist?

Code:
mail(); // returned false
echo 'X'; // X echoed

was ergibt:

if ( !mail($t,$s,$c,$h) ) { echo 'x' ; }


PS: Viele freien Anbieter landen aufgrund des Missbrauchs auf schwarzen Listen. Selbst Links werden z.B. auf Facebook nicht immer akzeptiert. CWCity ist wohl so ein Fall.
 
Zuletzt bearbeitet:
Ok ich hab noch etwas weshalb ich glaube das die Mail nicht raus geht. Ich habe ein tägliches Kontent von 25 Mails, welches ich einsehen kann, jedoch reduziert sich diese Menge nicht wenn ich den Quellcode ausführe. ich schätze das liegt weiterhin am fehlenden Sender. Mein Problem ist weiterhin aber, dass ich keine Ahnung habe wo ich diesen einfüge bzw. was ich als From: angebe. Alles was ich an Infos bekommen habe ist das from: localhost sein soll (was es aber jetzt schon ist). Das bringt mich alles ein wenig zum verzweifeln.
 
http://php.net/manual/de/function.mail.php
<?php
$empfaenger = 'niemand@example.com';
$betreff = 'Der Betreff';
$nachricht = 'Hallo';
$header = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($empfaenger, $betreff, $nachricht, $header);
?>

Der additional_parameters-Parameter ist im safe_mode deaktiviert; mail() gibt eine Warnung aus und gibt FALSE zurück, wenn Sie den Parameter trotzdem verwenden.


Code:
if( !mail($empfaenger, $betreff, $nachricht, $header) ) { echo 'X'; }
 
Da Mails, die per mail() versandt werden, eh beim Empfangsserver üblicherweise ein unerhört hohes Spamlevel erhalten (teilweise +2 Punkte, ab 4 ist es oftmals Spam), sollte man auf mail() nur für absolut irrelevanten Kram zurück greifen oder, wenn man den Empfangsserver selbst kontrolliert und den Kram direkt durchwinken kann.
In allen anderen Fällen sollte man sich einen anständigen SMTP-basierten Mailer besorgen. Gibt genug freie und wirklich geile Klassen.
 
Ich möchte euch allen danken. Ich habe gerade mit dem Admin der Seite gesprochen und so wie es ausschaut liegt der Fehler noch in der Funktion. Ich denke ich habe es bald.
Ergänzung ()

goreaper schrieb:
Ich möchte euch allen danken. Ich habe gerade mit dem Admin der Seite gesprochen und so wie es ausschaut liegt der Fehler noch in der Funktion. Ich denke ich habe es bald.

So als kleiner Nachtrag. Ich hatte auf die $email Variable den mysql_real_escape_string angewendet. Das hat zu Fehlern mit der Adresse geführt und so konnte die Mail nicht richtig versendet werden.
 
Zurück
Oben