problem beim mailen mit PHP

Maniac_81
Vielleicht kann mir einer helfen.

Ich habe folgendes problem bei diesem code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
<?php if ( isset( $_REQUEST["do"] ) && $_REQUEST["do"] == "send" )
    {
	// Variablen auslesen
	$to	=	"email@email.de";
	$from	=	$_REQUEST["form_from"];
	$email =    $_REQUEST["form_email"];
	$subject =	$_REQUEST["form_subject"];
	$telefon = $_REQUEST["form_telefon"];
	$text	=	$_REQUEST["form_text"];

	$header	=	"From: " . $from;
	
	//Pflichtfelder 
	
	if (! isset( $from ) || $from = "" )
	{
	   echo ("Bitte geben Sie ihren Namen an");
	}
	
	if ( ! isset( $subject ) || $subject = "" )
	{
	    echo ("Bitte geben Sie ein Betreff an!");
	}
	
	if ( ! isset( $text ) || $text = "" )
	{
	   echo ("Bitte geben Sie einen Text ein");
	}

	$status = mail($to, $subject, $text, $header, $email, $from);
	
	if ( ! $status )
	{
	    echo("Konnte die Email nicht versenden");
	}
    
    }

?>			 
		 <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" name="FormName">
		  <table width="550" border="0" cellspacing="0" cellpadding="2">
			<tr>
				<td align="left" valign="top" width="80"><b>Name:</b></td>
				<td align="left" valign="top" width="363"><input type="text" name="form_from" size="65" border="0"></td>
				<td align="left" valign="top" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" width="80"><b>Email:</b></td>
				<td align="left" valign="top" width="363"><input type="text" name="form_email" size="65" border="0"></td>
				<td align="left" valign="top" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" width="80"><b>Telefon:</b></td>
				<td align="left" valign="top" width="462"><input type="text" name="form_telefon" size="65" border="0">
			    </td>
			
			</tr>
			<tr>
				<td align="left" valign="top" width="80"><b>Betreff:</b></td>
				<td align="left" valign="top" width="363"><input type="text" name="form_subject" size="65" border="0"></td>
				<td align="left" valign="top" width="95">&nbsp;</td>
			</tr>
			<tr>
			<td border="0">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" width="80"><b>Text:</b></td>
				<td colspan="2" align="left" valign="top" width="462"><textarea name="form_text" rows="8" cols="49"></textarea>              </td>
			</tr>
			<tr>
				<td align="left" valign="top" width="80">&nbsp;</td>
				<td align="left" valign="top" width="363">&nbsp;</td>
				<td align="left" valign="top" width="95">&nbsp;</td>
			</tr>
			<tr>
				<td align="left" valign="top" width="80"><input type="hidden" name="do" value="send"></td>
				<td align="left" valign="top" width="363"><input type="submit" name="submit" value="Abschicken" border="0"></td>
				<td align="left" valign="top" width="95">&nbsp;</td>
			</tr>
		</table></form>


es wird keine fehlermeldung ausgegeben wenn die felder leergelassen werden. allerdings kommt ne fehlermeldung wenn ich es über einen nicht konfigurierten mailserver abschicken will (XAMPP bei mir aufm lappi)
dann wird folgendes abgerufen und wird auch ausgegeben:

php:
1:
2:
3:
4:
if ( ! $status )
    {
        echo("Konnte die Email nicht versenden");
    }


mails kommen auch nicht an, wo liegt mein fehler?
Rogerhuber
Oehm.. zu den if abfragen...

Gesetzt (isset) ist es ja sowieso, da du den Vars ja oben einen wert zuweisst.
Auch sollte es wohl $from == "" sein... ( 2x == )


Zum Mail kann ich dir nix sagen, ausser das es bei meinem localhost (ebenfalls xampp) auch nicht (mehr) funzt großes Grinsen

Allerdings nutz ich die funktion mail() mit weiteren Zusatzoptionen als du.. könntest ja ev mal ausprobieren..

Aber wie gesagt, von Mail hab ich kein plan Augenzwinkern

php:
1:
2:
3:
4:
5:
6:
$header "";
$header .= "MIME-Version: 1.0"."\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
$header .= "To: \"".$to."\" <".$to.">"."\r\n";
$header .= "From: \"".$from."\" <".$from.">"."\r\n";
mail($email,$subject,$content,$header);
Maniac_81
ok, wegen den fehlermeldungen hat es an den == gelegen, mail wirdjetzt auch versendet. hab $_REQUEST durch $_POST getauscht. wie kann ich jetzt noch abfragen das die mail versendet wurde?

also hier wird ja abgefragt ob die mail versendet werden kann:

if ( ! $status )
{
echo("Konnte die Email nicht versenden!<br />");
}


jetzt möchte ich am ende vom code eine ausgabe haben das die mail erfolgreich gesendet wurde.
hmatrix
else {
print("Ihre E-Mail wurde erfolgreich verschickt");
}

Füge dies einfach im Anschluss ein.
Maniac_81
Zitat:
Original von hmatrix
else {
print("Ihre E-Mail wurde erfolgreich verschickt");
}

Füge dies einfach im Anschluss ein.


da hätte ich eigentlich auch selbst drauf kommen können Mauer