Kontaktformular funktioniert nicht! PHP 

Status
Für weitere Antworten geschlossen.

alesh

Registered +
Registriert
Juli 2007
Beiträge
80
Mein Kontaktformlar funktioniert nicht :( er schickt mit einfach keine mail.
Code:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


























Alesh & DJ A.M.



// *** Deine Mailadresse (Empfänger) *** 
$mail_to="...@gmx.de"; 
// ************************************* 

$from_name=$_POST['fromname']; 
$from_mail=strtolower($_POST['frommail']); 
$mail_subject=$_POST['mailsubject']; 
$mail_text=$_POST['mailtext']; 
$send=$_POST['s']; 

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.
"; 
if(trim($from_mail)=="") 
$err_text.="Bitte gib Deine E-Mail-Adresse an.
"; 
else 
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail)) 
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.
"; 
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.
"; 
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.
"; 

// *** Zu langen Text abschneiden *** 
if(strlen($mail_text)>1000) { 
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)"; 
} 
$from_name=str_replace(chr(34),"''",$from_name); 
$mail_subject=str_replace(chr(34),"''",$mail_subject); 
$from_name=stripslashes($from_name); 
$from_mail=stripslashes($from_mail); 
$mail_subject=stripslashes($mail_subject); 
$mail_text=stripslashes($mail_text); 

if(($send=="1") && (isset($err_text))) { 
echo "
Fehler:
"; 
echo "$err_text

"; 
} 

if(($send!="1") || (isset($err_text))) 
{ 
?> 


[TABLE]

[TR]
[RIGHT][td][RIGHT]Dein Name:[/RIGHT][/td][/RIGHT][td] [/td] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Deine E-Mail Adresse:[/RIGHT][/td][/RIGHT] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Betreff:[/RIGHT][/td][/RIGHT] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Text:
(max. 1.000 Zeichen)[/RIGHT][/td][/RIGHT] 
[/TR]
 
[TR]
[td] 

[/td]
[/TR]

[/TABLE]
 
 

} else { 
$header="From: $from_name \n"; 
$header.="Reply-To: $from_mail\n"; 
$header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n"; 
$header.="Content-Type: text/plain"; 
$mail_date=gmdate("D, d M Y H:i:s")." +0000"; 
$send=0; 
if(@mail($mail_to,$mail_subject,$mail_text,$header)) 
{ 
echo "
Deine E-Mail wurde abgesendet.

"; 
echo "
Zurück zum Formular

"; 
}else{ 
echo "
Beim Versenden der E-Mail ist ein Fehler aufgetreten!

"; 
echo "
echo urlencode($mail_text)."\">Zurück zum Formular

"; 
} 
} 
?> 


Copyright © 2003-2007 www.gaijin.at






[HEADING=1]About US[/HEADING]

[LIST]

[*]Alesh

[*]DJ.A.M.


[/LIST]


[HEADING=1]Another thing[/HEADING]

[LIST]

[*]consequat molestie

[*]sem justo

[*]semper

[*]sociis natoque

[/LIST]


[HEADING=1]Third and last[/HEADING]

[LIST]

[*]sociis natoque

[*]magna sed purus

[*]tincidunt

[*]consequat molestie

[/LIST]










© 2007 Website.com. Valid CSS & XHTML


Design by Arcsin Web Templates
 
Wo liegt das Script? Unterstützt der Webspace PHP? Oder kommt eine Fehlermeldung? Wenn ja, welche? Außerdem musst du die Zeile $mail_to = ... noch anpassen.
 
webspace ünterstützt php. Kommt keine Fehlermeldung. Klar muss ich bei ... noch meine name eingeben ;-)
Der script is folgender:
Code:
// *** Deine Mailadresse (Empfänger) *** 
$mail_to="...@gmx.de"; 
// ************************************* 

$from_name=$_POST['fromname']; 
$from_mail=strtolower($_POST['frommail']); 
$mail_subject=$_POST['mailsubject']; 
$mail_text=$_POST['mailtext']; 
$send=$_POST['s']; 

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.
"; 
if(trim($from_mail)=="") 
$err_text.="Bitte gib Deine E-Mail-Adresse an.
"; 
else 
if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail)) 
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.
"; 
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.
"; 
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.
"; 

// *** Zu langen Text abschneiden *** 
if(strlen($mail_text)>1000) { 
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)"; 
} 
$from_name=str_replace(chr(34),"''",$from_name); 
$mail_subject=str_replace(chr(34),"''",$mail_subje ct); 
$from_name=stripslashes($from_name); 
$from_mail=stripslashes($from_mail); 
$mail_subject=stripslashes($mail_subject); 
$mail_text=stripslashes($mail_text); 

if(($send=="1") && (isset($err_text))) { 
echo "
Fehler:
"; 
echo "$err_text

"; 
} 

if(($send!="1") || (isset($err_text))) 
{ 
?> 


[TABLE]

[TR]
[RIGHT][td][RIGHT]Dein Name:[/RIGHT][/td][/RIGHT][td] [/td] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Deine E-Mail Adresse:[/RIGHT][/td][/RIGHT] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Betreff:[/RIGHT][/td][/RIGHT] 
[/TR]

[TR]
[RIGHT][td][RIGHT]Text:
(max. 1.000 Zeichen)[/RIGHT][/td][/RIGHT] 
[/TR]
 
[TR]
[td] 

[/td]
[/TR]

[/TABLE]
 
 

} else { 
$header="From: $from_name \n"; 
$header.="Reply-To: $from_mail\n"; 
$header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n"; 
$header.="Content-Type: text/plain"; 
$mail_date=gmdate("D, d M Y H:i:s")." +0000"; 
$send=0; 
if(@mail($mail_to,$mail_subject,$mail_text,$header )) 
{ 
echo "
Deine E-Mail wurde abgesendet.

"; 
echo "
Zur ück zum Formular

"; 
}else{ 
echo "
Beim Versenden der E-Mail ist ein Fehler aufgetreten!

"; 
echo "
echo urlencode($mail_text)."\">Zurück zum Formular

"; 
} 
} 
?>
 
Also so spontan fällt mir an dem Script auch nichts auf, was falsch sein könnte (keine Gewähr) ;)

Aber mach mal zum debuggen die ganzen @ Zeichen raus, damit die Fehlermeldung nicht unterdrückt wird.

mfg
snip3r

PS: könntest du bitte deinen Code in [ php][/php ] Tags setzen, es macht das ganze einfacher zum lesen.
Noch eine kleine Anmerkung, du verwendest XHTML 1.1, hast aber die Mehrzahl des Codes in HTML 4 geschrieben ;)
 
Es währe auch gut vorher zu wissen ob das Mail Script überhaupt schonmal bei dir funktioniert hat ;)

Sicher das der SMTP / Mail Server auf deinen Host läuft?

greez ins0
 
Kannst Du auf die Frage von insO mal antworten oder hat sich dein Problem erledigt?
 
alesh, sehr oft kommt es vor, dass der provider der e-mail-adresse, an den du die e-mail schickst, mit standard-headern versandte nachrichten von vornherein blockt (und meist sogar nicht einmal in einen ordner für spams verschiebt).

das hat folgenden grund: mit einem php-script und der funktion mail() lassen sich sehr leicht massenweise spams erstellen. auch lässt sich damit die absenderadresse beliebig anpassen, obwohl die e-mail gar nicht von dieser stammt.

das geht sogar soweit, dass du theoretisch einen ganz anderen server angeben kannst (etwa "from: info@microsoft.de", wenn das script auf alesh.de läuft).

von daher empfiehlt es sich, eine von mail() unabhängige anfrage mit dem bei dir installiertem mailserver zu senden.

ich hoffe, ich konnte dir weiterhelfen!

gruß,
kmt56
 
Ich glaube nicht, dass alesh nochmal antwortet => Closed

Wenn es doch anders kommen sollte, als ich denke - PN an mich ^^

Gruß
Broken Sword
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten