Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung PHP und MySQL Email über Formular

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 00:40
Beitrag # 1 von 6
Bewertung:
(2499 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
War hier schon lange nicht mehr online (der Benutzername funktioniert irgendwie nicht mehr), aber man hat mir immer super mit GoLive Problemen geholfen!

Nun hab ich ein Problem mit php! Ich muss fairerweise sagen, dass ich zuwenig Ahnung von php habe, um mir selber etwas zu programmieren... Mit viel Glück kann ich bestehende Skripts auf meine Bedürfnisse anpassen, an was ich heute aber gescheitert bin... Hier also mein Problem:

Habe mir nach einem Tutorial ein Kontaktformular erstellt. Es hat zwei Dateien, zum einen "index.html", in welcher das Formular enthalten ist und zum anderen "mail.php", was das Formular als Email verschickt!
Die Pflichtfeldprüfung ist über Java gelöst... soweit so gut!

Leider ist das Mail, welches das Formular verschickt nicht ganz nach meinen Vorstellungen... irgendwie wird die Emailadresse, welche der Nutzer eingibt nicht erkannt... dadurch bleibt der Absender leer und auch die Kopie des Formulares an den Benutzer wird nicht versendet...

Habe schon einiges ausprobiert und es jetzt immer noch nicht zum laufen gebracht... vielleicht kann mir jemand von euch helfen?

Hier noch die ganzen Codes:

Code von index.html (Formular):
Code
<form id="Kontaktformular" action="mail.php" method="post" name="Kontaktformular" onsubmit="return chkFormular()" onreset="return ResetCheck()"> 
<table width="402" border="0" cellspacing="2" cellpadding="0">
<tr>
<td colspan="4" width="398">Betreff</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Beratung" value="Erw&uuml;nscht" tabindex="1"></td>
<td width="144">Beratung</td>
<td width="20"><input type="checkbox" name="Anbau" value="Erw&uuml;nscht"></td>
<td width="209">Anbau</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Offerte" value="Erw&uuml;nscht"></td>
<td width="144">Offerte</td>
<td width="20"><input type="checkbox" name="Terrassen" value="Erw&uuml;nscht"></td>
<td width="209">Terrassen</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Elementbau" value="Erw&uuml;nscht"></td>
<td width="144">Elementbau</td>
<td width="20"><input type="checkbox" name="Termin" value="Erw&uuml;nscht"></td>
<td width="209">Bitte um Termin</td>
</tr>
<tr>
<td width="19"><input type="checkbox" name="Umbau" value="Erw&uuml;nscht"></td>
<td width="144">Umbau</td>
<td width="20"><input type="checkbox" name="Anderes" value="Erw&uuml;nscht"></td>
<td width="209">Anderes</td>
</tr>
<tr>
<td width="19"></td>
<td width="144"></td>
<td width="20"></td>
<td width="209"></td>
</tr>
</table>
<hr align="left" noshade size="1" width="400">
<table width="285" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100">Firma</td>
<td><input type="text" name="Firma" size="24"></td>
</tr>
<tr>
<td width="100"><font color="#008c65"><b>Name</b></font></td>
<td><input type="text" name="Name" size="24"></td>
</tr>
<tr>
<td width="100">Strasse</td>
<td><input type="text" name="Strasse" size="24"></td>
</tr>
<tr>
<td width="100">Plz/Ort</td>
<td><input type="text" name="PLZ/Ort" size="24"></td>
</tr>
<tr>
<td width="100">Telefon</td>
<td><input type="text" name="Telefon" size="24"></td>
</tr>
<tr>
<td width="100"><font color="#008c65"><b>Email</b></font></td>
<td><input type="text" name="Mail" value="" size="24"></td>
</tr>
</table>
<div align="left">
<hr align="left" noshade size="1" width="400">
</div>
<table width="407" border="0" cellspacing="2" cellpadding="0">
<tr>
<td valign="top" width="100"><font color="#008c65"><b>Mitteilung</b></font></td>
<td><textarea name="Mitteilung" rows="4" cols="40"></textarea></td>
</tr>
<tr>
<td width="100">Bitte um R&uuml;ckruf</td>
<td><input type="checkbox" name="Rückruf" value="Erw&uuml;nscht"></td>
</tr>
</table>
<hr align="left" noshade size="1" width="400">
<table width="341" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="100"><font size="-3" color="#008c65">Pflichtfelder</font></td>
<td width="87"><input type="submit" name="Senden" value="Senden"></td>
<td><input type="reset" value="Zur&uuml;cksetzen" tabindex="1"></td>
</tr>
</table>
</form>


Code von [b]mail.php:
Code
<?php 

$admin= 'zieladresse@server.serv';

$subject= 'Kontaktanfrage über Homepage';

$subject2= 'Anfrage an xyz';

$message= 'Nachrichten an '.$admin.' von '.$Mail.":\n\n";

foreach($HTTP_POST_VARS as $name=> $value) {

$message.= "$name:$value\n";

}

mail($admin, $subject, $message, "From: $Mail");

mail($Mail, $subject2, $message, "From: $admin");


header('Location: http://www.xyz.xy/kontakt/danke.html');

?>


Hier die Email, die ich erhalte:
Code
Nachrichten an email@server.serv von : 

Beratung:Erwünscht
Elementbau:Erwünscht
Firma:
Name:Max Muster
Strasse:
PLZ/Ort:
Telefon:
Mail:maxmuster@bluewin.ch
Mitteilung:Testnachricht
Rückruf:Erwünscht
Senden:Senden


Das ganze ist auch online:
http://www.xyz.serv/kontakt/index.html


2. Problem ist, dass die "Formatierung" des grossen Textfeldes nicht übernommen wird, kann man das irgendwie einstellen, dass nicht alles aneinander gesendet wird? Also dass z.B. die Absätze erhalten beliben?
Gibt es allgemein eine einfache Möglichkeit, das Antwortmail besser zu Formatieren?

Besten Dank schonmal!!

MfG
Moritz

(Dieser Beitrag wurde von iPartner am 15. Feb 2008, 08:38 geändert)
X

Email über Formular

Intermedia
Beiträge gesamt: 1287

8. Jan 2008, 09:33
Beitrag # 2 von 6
Beitrag ID: #329762
Bewertung:
(2471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

du verwendest hier völlig veralterte Methoden.

$HTTP_POST_VARS ist älter als die Steinzeit, heutzutage werden POST Variablen so abgefragt: $_POST

http://de.php.net/...served.variables.php

dann sieh dir weiterhin mal die Einstellung register_globals an: http://de.php.net/...security.globals.php

Für Zeilenumbrüche könnte dann noch das weiterhelfen: http://de.php.net/...e/function.nl2br.php

Sollte das nicht reichen, kommt noch eine HTML Mail in Frage.

Dann solltest du dir das auch nochmal ansehen: http://www.hilfdirselbst.ch/..._P215882.html#215882

Hoffe es hilft dir weiter.

Gruß Sven


als Antwort auf: [#329731]

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 16:21
Beitrag # 3 von 6
Beitrag ID: #329845
Bewertung:
(2452 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Intermedia ] $HTTP_POST_VARS ist älter als die Steinzeit, heutzutage werden POST Variablen so abgefragt: $_POST


Hups, da hab ich wohl was ganz altes ausgegraben :-)

Vielen Dank für die Links, werde mich heute Abend mal einlesen und das ganze nach deinen Vorschlägen versuchen zu lösen!

Besten Dank
MfG
Moritz


als Antwort auf: [#329762]

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 21:59
Beitrag # 4 von 6
Beitrag ID: #329901
Bewertung:
(2429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Edit: So hab grad mein Problem gelöst...

Hier ist nun die von mir verwendete mail.php
Code
<?php 

$admin= 'ziel@ziel.ziel'; // Email-Adresse

$more = "From: $_POST[mail]";

$subject="Anfrage aus www.xyz.xyz";

$body="
Anfrage von xyz

*********************************************
Betreff:
$_POST[beratung]
$_POST[offerte]
$_POST[elementbau]
$_POST[umbau]
$_POST[anbau]
$_POST[terrassen]
$_POST[termin]
$_POST[anderes]

*********************************************
Firma: $_POST[fima]
Name: $_POST[name]
Strasse: $_POST[strasse]
Plz/Ort: $_POST[ort]

*********************************************

Telefon: $_POST[telefon]
Email: $_POST[mail]

*********************************************

Mitteilung: $_POST[mitteilung]

*********************************************

$_POST[rueckruf]
";


mail($admin, $subject, $body, $more);


header('Location: http://www.xyz.xyz/kontakt/danke.html');

?>


*stolz* mein erstes selbstgeschribenes PHP-Skript :-D
Funktioniert soweit ich das beurteilen kann ganz gut!

Formatierung des Mails sieht jetzt auch besser aus, also kann ich auf die Zeilenumbrüche verzichten... denke das ist mit ziemlichem Mehraufwand verbunden!

Das mit den register_globals ist etwas kompliziert (oder schaut zumindest so aus), ist das notwendig?

Denke mein Formmailer ist schon ziemlich Spamanfällig... meint ihr da muss ich noch was machen? (Wenn ja, was möglichst einfaches effektives :-D)
Der Link über die Spamsicherheit sieht sehr gut aus, Problem ist das ich bei 90% nur Bahnhof verstehe :-D

Besten Dank nochmal für deine Tipps

MfG
Moritz


als Antwort auf: [#329845]
(Dieser Beitrag wurde von iPartner am 13. Feb 2008, 11:04 geändert)

Email über Formular

Moma
Beiträge gesamt: 7

8. Jan 2008, 22:37
Beitrag # 5 von 6
Beitrag ID: #329907
Bewertung:
(2416 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Jep, klappt soweit so gut..

Noch zwei Sachen, die ich mich gefragt hab:

1. Würde es etwas bringen, wenn ich die Emailadresse in der mail.php verschlüssle? Geht sowas? Habe mal was von einer Verschlüsselung über Java gelesen...

2. Währe es auch möglich das Email als HTML zu verschicken? Also einfach den HTML-Code in die mail.php?

MfG
Moritz


als Antwort auf: [#329901]

Email über Formular

Intermedia
Beiträge gesamt: 1287

9. Jan 2008, 08:31
Beitrag # 6 von 6
Beitrag ID: #329937
Bewertung:
(2388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

also das mit den Zeilenumbrüchen ist nur wirklich das Einfachste. ;-)

z.B.: $meine_var = nl2br($_POST[meinfeld]);

Die E-Mailadresse innerhalb von php zu verschlüsseln ist unsinnig da diese ja beim Versand unverschlüsselt benötigt wird.
Gegenfrage, wer soll denn diese Adresse sehen auf deinem Server? Oder willst du jedem deine ftp Daten geben? ;-))

HTML Mails sind durchaus möglich, wenn du soetwas selber programmieren willst mußt du gute Kenntnisse vom Aufbau von Mails haben.
Es wäre Quatsch das Rad neu zu erfinden. Es gibt da eine gute Klasse die ich selber verwende. Hab den Link jetzt nicht bei der Hand aber google mal nach "phpmailer".
Den Body der Mail mußt du dann als komplette HTML Seite erstellen.

Übrigens Java != Javascript !!! Das ist ein feiner aber gewaltiger Unterschied.
Du meinst bestimmt Javascript.

Gruß Sven


als Antwort auf: [#329907]
X