[php] Problem mit mail()

Marcel44

Active member
ID: 273809
L
16 Februar 2007
39
1
Hallo Leute ich habe ein Problem mit folgendem script.:
PHP:
	 if(isset($_POST['new_pw'])){
            $sql = "SELECT
	              ID,
		      Email
		   FROM
		      user
		   WHERE
		      User_Name = '".$_POST['Nickname']."'";
            $nick_to_id_result = mysql_query($sql) OR die(mysql_error());
	   $nick_to_id = mysql_num_rows($nick_to_id_result);
            if(mysql_num_rows($nick_to_id_result) == 1){
	   $new_pw = substr(md5(microtime()),0,8);
              $sql = "UPDATE
	                user
		     SET
		        Password = '".$new_pw."'
		     WHERE
		        ID = '".$nick_to_id['ID']."'";
	     mysql_query($sql) OR die(mysql_error());
              $empfaenger = trim($nick_to_id['Email']);
	     $betreff = "Neues Passwort";
	     $mailbody = "Ihr neues Passwort lautet:\n".
                          "$new_pw\n".
			 "Bitte loggen Sie sich ein und ändern Ihr Passwort.".
			 "Falls Sie sich weiterhin nicht anmelden können melden Sie mir das bitte umgehend.\n".
			 "Per E-Mail: [email protected]\n".
			 "Oder Sie schreiben mir eine PN.";
	     $mailheader = "From: [email protected]";
	     if(@mail("$empfaenger","$betreff","$mailbody","$mailheader")){
                echo "<p align='center'><b style='color: #339900;'>Ihr neues Passwort wurde erfolgreich an Ihre E-Mail Addresse geschickt.</b></p>";
	     }else{
                echo "<p align='center'><b style='color: #E8040A;'>Beim versenden der Mail ist ein Fehler aufgetreten.\n".
	            "(Falls wiederholt ein Fehler auftreten sollte, wenden Sie sich bitte den Webmaster.)</b></p>";
	     }
	   }
	 }else{
            echo "<div align='center'><form method='POST'>\n";
            echo "Nickname :\n";
            echo "<input type='text' name='Nickname' maxlength='15'>\n";
            echo "<br>\n";
	   echo "<input type=\"hidden\" name=\"".session_name()."\" value=\"".session_id()."\" />";
            echo "<input type='submit' name='new_pw' value='Abschicken'>\n";
            echo "</form></div>\n";
	 }
Wen man das Formular abschickt kommt:
No recipient addresses found in header

aber wenn ich in meine E-Mail addresse angebe und nicht $empfaeger dann geht es.
 
Das mit der schreibweise weiß ich ich hab halt alles probiert um das script zum laufen zu kriegen.

$empfaenger ist nicht leer der beinhaltet die E-Mail addy des users und die ist angegeben

Ich hab den Fehler gefunden:
PHP:
//es muss so sein
           $nick_to_id_result = mysql_query($sql) OR die(mysql_error());
	   $nick_to_id = mysql_fetch_assoc($nick_to_id_result);
//nicht so
           $nick_to_id_result = mysql_query($sql) OR die(mysql_error());
	   $nick_to_id = mysql_num_rows($nick_to_id_result);
/* 
mysql_num_rows($result) gibt ja die Anzahl der gefundenen Zeilen an
*/

Thema kann geschlossen werden
 
Zuletzt bearbeitet: