emails speichern

eisman

eisman

Aktives Mitglied
Thread Starter
Dabei seit
22.01.2005
Beiträge
2.056
Reaktionspunkte
105
morgen ihr nachtschwärmer,
ich möchte gerne als "kunde" meine verfasste email die ich über ein Kontakformular einer websites erstelle,eine kopie.und diese dann in mein emailpostfach speichern.
geht das? wenn ja wie?
 
Bist du gleichzeitig der Webseitenbetreuer? ;-)
Falls ja, schreib dir ein Skript, daß den Inhalt des Formulars einfach per Mail an die angegebene E-Mail Adresse verschickt..
 
Ich denke eisman meint eher ganz generell in jedem beliebeigen Mail-Formular. Da lautet die Antwort ganz klar nein. Du weist ja noch nicht einmal den Empfänger. Du kannst den Betreff und den Inhalt ja einfach in Dein Mail-Programm eingeben und an eine nichtexistente Adresse schicken. ;)
Das ist übrigens der Punkt warum ich solche Mail-Formulare wie die Pest hasse. Würde ich niemals freiwillig benutzen.
 
vieleicht habe ich mich falsch augedückt,oder ich verstehe dich falsch
stell dir vor du bist auf meine kontaktseite und gibst ein txt ein.
so diesen txt mit betreff,name und emailadresse möchtest du als kopie in dein emailpostfach speichern.wie kann ich denn wissen wer mir schreibt, um ein script zu schreiben das der absender eine kopie in sein postfach haben will.
 
nachschlag

hey dms,
lang nix me von dir gehört,
ja dann frage ich mich warum machen sich die leute so
viel mühe,ein kontaktformular zu erstellen?
klar geht's über ein mailpr. einfacher
 
eisman schrieb:
ja dann frage ich mich warum machen sich die leute so
viel mühe,ein kontaktformular zu erstellen?
Das frage ich mich auch. ;)

Ein Grund ist vlt. weil es "cool" ist. Ein anderer um sich vor Spam zu "schützen". Beides Quatsch. :)
 
dms schrieb:
Das frage ich mich auch. ;)

Ein Grund ist vlt. weil es "cool" ist. Ein anderer um sich vor Spam zu "schützen". Beides Quatsch. :)

Vielleicht, damit die Leute, die gerade nicht am eigenen Rechner (bei Freunden, Uni oder Internetcafe) sitzen, schnell mal etwas losschicken können, ohne sich extra beim webinterfave des mailanbieter einzuloggen müssen, ... (sofern sie eine adresse haben, mit der das geht).
 
genauso ist es,aber mal was anderes,hier im php die divangaben möchte ich gerne
das die auf eine andere seite erscheinen,doch wie mach ich das
// Überprüfung des Betreffs
if(empty($betreff)){$allesok = 0; $fehler = "<div class=\"error\">
betreff fehlt</div>";}

// Überprüfung des Namens
if(empty($name)){$allesok = 0; $fehler = "<div class=\"error\">
namen fehlt</div>";}

// Überprüfung der E-Mails
if(empty($mail)){$allesok = 0; $fehler = "<div class=\"error\">
email fehlt</div>";}

// Überprüfung des Betreffs
else if(empty($betreff)){$allesok = 0; $fehler="<div class=\"error\">
Betreffs fehlt</div>";}

// Überprüfung des Namens
else if(empty($name)){$allesok = 0; $fehler = "<div class=\"error\">
Namens fehlt</div>";}

// Überprüfung auf korrekte Eingabe der Email-Adresse
else if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$mail)) {
$allesok = 0;
$fehler = "<div class=\"error\">
Bitte eine korrekte Email-Adresse einfügen</div>";}
}
 
eisman schrieb:
so diesen txt mit betreff,name und emailadresse möchtest du als kopie in dein emailpostfach speichern.wie kann ich denn wissen wer mir schreibt, um ein script zu schreiben das der absender eine kopie in sein postfach haben will.

Let's supose I'm right: Du willst sowas wie beim Kontaktformular von eBay (Frage an den Verkäufer). Ich gebe einen Text in dein Kontaktformular ein und kann eine Checkbox anhaken, dass ich auch eine Kopie des Textes per Mail möchte, damit ich später mal nachschauen kann, was ich dir eigentlich geschrieben habe.
Dann schickst du einfach die Mail an mich auch noch mal. Entweder, indem du zweimal mail() aufrufst, einmal mit deiner Adresse als Empfänger, einmal mit meiner. Oder du setzt einen CC/BCC-Header (wie das geht, steht in der php-Doku zu mail().

Matt
 
eisman schrieb:
hier im php die divangaben möchte ich gerne das die auf eine andere seite erscheinen,doch wie mach ich das

Indem du Überprüfung des Ganzen auf der Seite veranstaltest, auf der du die Fehlermeldungen ausgeben willst.

Aber am besten liest du dir in dem Zusammenhang mal die Sachen zum Affenformular in der php-faq durch.

Matt
 
ja so ungefähr,eigentlich nachdem die mail losgeht soll autom. eine kopie an den
absender,ohne das der empfänger nochmals eine kopie schickt.das wäre für den
absender auch lästig wenn er mit doppelmails zugeschüttet wird.und wenn der absender die kopie nicht will kann er sie von seinen mailfach löschen.
 
eisman schrieb:
ja so ungefähr,eigentlich nachdem die mail losgeht soll autom. eine kopie an den
absender,ohne das der empfänger nochmals eine kopie schickt.das wäre für den
absender auch lästig wenn er mit doppelmails zugeschüttet wird.und wenn der absender die kopie nicht will kann er sie von seinen mailfach löschen.

Naja, dann gilt ja das oben gesagt, nur ohne die Checkbox.

Matt
 
Nachdem ich die korrekturen vorgenommen hatte,und dies auf den Server gebiemt hatte kam diese Meldung:
Parse error: parse error in /home/strato/www/fo/www.foto-et-grafik.de/htdocs/contact/contact.php3 on line 11
also ein syntax-fehler ist - in diesem fall in zeile 11. evtl. habe ich irgendwo in dieser zeile oder vorher eine klammer, semikollon oder sonstwas in der richtung vergessen...aber aws kommt jetzt genau dahin?
<?
/* Variablen für die Werte der Formularfelder definieren.
*/
$betreff = $_POST['betreff'];
$name = $_POST['name'];
$mail = $_POST['email'];
$eingabe = $_POST['eingabe'];

if (isset($_REQUEST['clear'])) {
******unset($_REQUEST);
**}

/* Abfrage, ob das Formular abgeschickt wird
des weiteren ist das richtig so? <?php }?>
bin absoluter newcommer in php
 
eisman schrieb:
PHP:
 if (isset($_REQUEST['clear'])) { 
******unset($_REQUEST); 
**}

Mach die Sternachen weg, dann klappt es auch.

/* Abfrage, ob das Formular abgeschickt wird
des weiteren ist das richtig so? <?php }?>
bin absoluter newcommer in php

Und es wäre toll, wenn man in deinen Posts sieht, wie der php-Code aufhört und der normale Post weitergeht...

Matt
 
ja,ich wollte nicht alles rüberbiemen,aber jetzt muss ich es doch
bekomme keine fehlermeldung=nicht/teilweise ausgefüllten formularfelder
wenn all beschriftet sind,erscheint die feedbackseite nicht,auch keine mail+mailkopie an mein andere mailbox.
fülle ich alle aus,klicke auf send,sind alle felder leer,bis auf die email
<?
/* Variablen für die Werte der Formularfelder definieren.
*/
$betreff = $_POST['betreff'];
$name = $_POST['name'];
$mail = $_POST['email'];
$eingabe = $_POST['eingabe'];

if (isset($_REQUEST['clear']))
unset($_REQUEST);

/* Abfrage, ob das Formular abgeschickt wird
mit Fehlerüberüberprüfung beider Formularfelder.
Es wird eine Variablen auf 1 gesetzt. 1 bedeutet true oder wahr (boolean)
Der Ausgangswert nach Absenden des Formulars ist 1.
Ist ein Feld leer, bekommt die Variablen den Wert 0 oder false
Sprich, das Formular kann solang nicht abgeschickt werden, bis dieser Wert wieder 1 ist.
*/
if(isset($_POST['action'])){
$allesok = 1;
// Überprüfung des Betreffs
if(empty($betreff)){$allesok = 0; $fehler = "<div class=\"error\">
betreff fehlt</div>";}

// Überprüfung des Namens
else if(empty($name)){$allesok = 0; $fehler = "<div class=\"error\">
Namen fehlt</div>";}

// Überprüfung der Eingabe
else if(empty($eingabe)){$allesok = 0; $fehler = "<div class=\"error\">
Bitte Message</div>";}

// Überprüfung auf korrekte Eingabe der Email-Adresse
else if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$email)) {
$allesok = 0;
$fehler = "<div class=\"error\">
Bitte eine korrekte Email-Adresse einfügen</div>";}
}
/* Ende der Überprüfung
sind alle Felder ausgefüllt, bekommt $allesok wieder den Wert 1
somit können dann nachfolgende Aktionen ausgeführt werden
*/
if($allesok){
// Mail abschicken
// Text verarbeiten, der über den body geschickt werden kann.
$ausgabe = "Vielen Dank!\n";
$ausgabe .= "Email= ".$email."\n";
$ausgabe .= "Name= ".$name."\n";
$ausgabe .= "Message= ".$eingabe;

$sender ="Klaus"; //Sendername einfügen
$sendermail ="info@foto-et-grafik.de";//Sender-Adresse einfügen
$subject = $betreff; //Betreff einfügen
$header = "From: $sender <$sendermail>\r\n";
$header .= "Cc: info@foto-et-grafik.de\r\n";//CC einfügen
$header .= "Bcc: ******@******\r\n";//Bcc einfügen
$header .= "Reply-to: <$sendermail>\r\n";
$header .= "Return-path: <$sendermail>\r\n";

mail($email, $subject, $ausgabe, $header);

// oder Datenbankeintrag
// nach erfolgter Mailzustellung Weiterleitung auf eine Danke-Seite.
header("location:http://www.foto-et-grafik.de/contact/feedback.htm");
} else {
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>foto et grafik</title>
<style type="text/css">
<!--
body {
background-color: #959595;
}
body,td,th {
font-family:Geneva, Arial, Helvetica, san-serif;
color: #3c3c3c;
font-weight:normal;
font-size:14px;
text-align:left;
}
.star {color: #990000}
..error { color:#999999; font-size:10px; font-style:italic;}
-->
</style>
</head>

<body marginheight="0" marginwidth="0"><table width="590" height="478" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="68" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="210" height="410" align="left" valign="top"><img src="contact.gif" width="209" height="380"></td>
<td width="380" height="410" align="left" valign="top"><img src="contactmail.gif"><?php echo $fehler;?><br>
<img src="tr.gif" width="1" height="10">
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>"><table width="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="bottom"><span class="star">* </span>betreff : </td>
<td>&nbsp;</td>
<td width="296" height="10" align="left" valign="top"><input name="betreff" type="text" size="38" maxlength="51" value="<? echo $betreff;?>"></td>
</tr>
<tr>
<td height="2" colspan="4"></td>
</tr>
<tr>
<td align="left" valign="bottom"><span class="star">*</span> name : </td>
<td>&nbsp;</td>
<td width="296" height="10" align="left" valign="top"><input name="name" type="text" size="38" maxlength="51" value="<? echo $name;?>"></td>
</tr>
<tr>
<td height="3" colspan="4"></td>
</tr>
<tr>
<td align="left" valign="bottom"><span class="star">*</span> mail : </td>
<td>&nbsp;</td>
<td width="280" height="20" align="left" valign="top"><input name="email" type="text" size="38" maxlength="51" value="<? echo $email;?>"></td>
</tr>
<tr>
<td height="17" colspan="4"></td>
</tr>
<tr>
<td width="72" align="left" valign="top">message : </td>
<td width="5">&nbsp;</td>
<td width="280" height="150" align="left" valign="top"><textarea cols="38" rows="15" name="eingabe"><?php @print $_REQUEST['eingabe']; ?></textarea></td>
</tr>
<tr>
<td height="2" colspan="4"></td>
</tr>
<tr>
<td></td>
<td></td>
<td width="296" height="10"><img src="tr.gif" width="80" height="38">
<input type="submit" name="submit" value="Send" height="18" width="50"/>
<img src="tr.gif" width="20" height="38">
<input type="reset" name="clear" value="Clear" height="18" width="50"/>
<input type="hidden" name="action" value="1"></td>
</tr>
</table></form>
</table>
</td>
</tr>
</table>
<?php }?>
</body>
</html>
 
Zuletzt bearbeitet:
eisman schrieb:
bekomme keine fehlermeldung=nicht/teilweise ausgefüllten formularfelder
wenn all beschriftet sind,erscheint die feedbackseite nicht,auch keine mail+mailkopie an mein andere mailbox.
fülle ich alle aus,klicke auf send,sind alle felder leer,bis auf die email

Benutzt du wirklich, wie deine Dateiendung vermuten läßt, noch PHP3?

Matt
 
re:php3

ne,habe vor ca.15min auf 4.3.9 umgestell
aber habe ein probleme bei fehlermeldung
betrefffeld=fehlermeldung name eingeben(wo bleibt der hinweis das die mail und die message nicht ausgefüllt sind)
betreff+namefeld=fehlermeldung message eingeben(wo bleibt der hinweis das die mailadresse fehlt)
betreff/name+mailfeld=fehlermeldung message fehlt und die mailadresse wird gelöscht
betreff/name/mail+messagefeld=fehlermeldung emailadresse angeben
das alles unter senden
betreff/name/mail+message= bei löschen (clear)bleibt der txt in dem txtfeld stehen
langsam werde ich irre
nochmals den code
PHP:
<? 

/* Variablen für die Werte der Formularfelder definieren. 
 */ 
$betreff = $_POST['betreff']; 
$name = $_POST['name']; 
$mail = $_POST['email']; 
$eingabe = $_POST['eingabe']; 

 if (isset($_REQUEST['clear']))  
******unset($_REQUEST);  

/* Abfrage, ob das Formular abgeschickt wird 
 mit Fehlerüberüberprüfung beider Formularfelder. 
 Es wird eine Variablen auf 1 gesetzt. 1 bedeutet true oder wahr (boolean) 
 Der Ausgangswert nach Absenden des Formulars ist 1. 
 Ist ein Feld leer, bekommt die Variablen den Wert 0 oder false 
 Sprich, das Formular kann solang nicht abgeschickt werden, bis dieser Wert wieder 1 ist. 
 */ 
if(isset($_POST['action'])){ 
$allesok = 1; 
// Überprüfung des Betreffs 
if(empty($betreff)){$allesok = 0; $fehler = "<div class=\"error\"> 
 Bitte in diesem Feld ein Stichwort angeben</div>";} 

// Überprüfung des Namens 
else if(empty($name)){$allesok = 0; $fehler = "<div class=\"error\"> 
 Bitte Ihr Namen angeben</div>";} 

// Überprüfung der Eingabe 
else if(empty($eingabe)){$allesok = 0; $fehler = "<div class=\"error\"> 
 Bitte Ihre Message vortragen</div>";} 

// Überprüfung auf korrekte Eingabe der Email-Adresse 
else if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$email)) { 
$allesok = 0; 
$fehler = "<div class=\"error\"> 
 Bitte Ihre korrekte Email-Adresse einfügen</div>";} 
 } 
/* Ende der Überprüfung 
 sind alle Felder ausgefüllt, bekommt $allesok wieder den Wert 1 
 somit können dann nachfolgende Aktionen ausgeführt werden 
 */ 
if($allesok){ 
// Mail abschicken 
 // Text verarbeiten, der über den body geschickt werden kann. 
$ausgabe = "Vielen Dank!\n"; 
$ausgabe .= "Email= ".$email."\n"; 
$ausgabe .= "Name= ".$name."\n"; 
$ausgabe .= "Message= ".$eingabe; 

$sender ="Klaus"; //Sendername einfügen 
$sendermail ="info@foto-et-grafik.de";//Sender-Adresse einfügen 
$subject = $betreff; //Betreff einfügen 
$header = "From: $sender <$sendermail>\r\n"; 
$header .= "Cc: info@foto-et-grafik.de\r\n";//CC einfügen 
$header .= "Bcc: ******@******\r\n";//Bcc einfügen 
$header .= "Reply-to: <$sendermail>\r\n"; 
$header .= "Return-path: <$sendermail>\r\n"; 

mail($email, $subject, $ausgabe, $header); 

// oder Datenbankeintrag 
 // nach erfolgter Mailzustellung Weiterleitung auf eine Danke-Seite. 
header("Location:http://www.foto-et-grafik.de/contact/feedback.htm"); 
 } else { 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>foto et grafik</title>
<style type="text/css">
<!--
body {
	background-color: #959595;
}
body,td,th {
    font-family:Geneva, Arial, Helvetica, san-serif;
	color: #3c3c3c;
	font-weight:normal;
	font-size:14px;
	text-align:left;
}
.star {color: #990000}
..error { color:#999999; font-size:10px; font-style:italic;}
-->
</style>
</head>

<body marginheight="0" marginwidth="0"><table width="590" height="478" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="68" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td width="210" height="410" align="left" valign="top"><img src="contact.gif" width="209" height="380"></td>
    <td width="380" height="410" align="left" valign="top"><img src="contactmail.gif"><?php echo $fehler;?><br>
      <img src="tr.gif" width="1" height="10">
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>"><table width="380" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="left" valign="bottom"><span class="star">* </span>betreff : </td>
    <td>&nbsp;</td>
    <td width="296" height="10" align="left" valign="top"><input name="betreff" type="text" size="38" maxlength="51" value="<? echo $betreff;?>"></td>
  </tr>
  <tr>
    <td height="2" colspan="4"></td>
    </tr>
  <tr>
    <td align="left" valign="bottom"><span class="star">*</span> name : </td>
    <td>&nbsp;</td>
    <td width="296" height="10" align="left" valign="top"><input name="name" type="text" size="38" maxlength="51" value="<? echo $name;?>"></td>
  </tr>
  <tr>
    <td height="3" colspan="4"></td>
    </tr>
  <tr>
    <td align="left" valign="bottom"><span class="star">*</span> mail : </td>
    <td>&nbsp;</td>
    <td width="280" height="20" align="left" valign="top"><input name="email" type="text" size="38" maxlength="51" value="<? echo $email;?>"></td>
  </tr>
  <tr>
    <td height="17" colspan="4"></td>
    </tr>
  <tr>
    <td width="72" align="left" valign="top">message : </td>
    <td width="5">&nbsp;</td>
    <td width="280" height="150" align="left" valign="top"><textarea cols="38" rows="15" name="eingabe"><?php @print $_REQUEST['eingabe']; ?></textarea></td>
  </tr>
  <tr>
    <td height="2" colspan="4"></td>
    </tr>
  <tr>
    <td></td>
    <td></td>
    <td width="296" height="10"><img src="tr.gif" width="80" height="38">
      <input type="submit" name="submit" value="Send" height="18" width="50"/>
      <img src="tr.gif" width="20" height="38">
      <input type="reset" name="clear" value="Clear" height="18" width="50"/>
      <input type="hidden" name="action" value="1"></td>
  </tr>
</table></form>    
  </table>
</td>
  </tr>
</table>
<?php }?>
</body>
</html>
 
Zuletzt bearbeitet:
eisman schrieb:
ne,habe vor ca.15min auf 4.3.9 umgestell

Du hattest aber vorher PHP3. Können wir uns darauf einigen? Denn da gab es die Array $_POST, $_GET und $_REQUEST noch nicht.

betrefffeld=fehlermeldung name eingeben(wo bleibt der hinweis das die mail und die message nicht ausgefüllt sind)

Der erscheint nicht. Aber ist ja auch logisch

betreff+namefeld=fehlermeldung message eingeben(wo bleibt der hinweis das die mailadresse fehlt)

Der erscheint nicht. Aber ist ja auch logisch

betreff/name+mailfeld=fehlermeldung message fehlt und die mailadresse wird gelöscht

Nein, sie wird nicht gelöscht. Sie wird nicht angezeigt. Ist aber auch logisch.

betreff/name/mail+messagefeld=fehlermeldung emailadresse angeben

Alles andere hätte mich auch überrascht.

betreff/name/mail+message= bei löschen (clear)bleibt der txt in dem txtfeld stehen

Das ist genau das Verhalten, dass der reset-Button an den Tag legt. Er setzt ein Formular auf die Einstellung zurück, mit der es geladen wurde. Was du da als Beschriftung auf den Button malst, ist dem ziemlich egal und von daher ist 'Clear' mehr als irreführend.

Keine Ahnung, wo du das Formular her hast, aufgrund der Kommentare sieht es ja aus wie was fertiges. Ich hatte dir ja aber schon einen alternativen Link gepostet.

Aber wenn du $_POST["email"] in die Varibale $mail einliest, dann aber immer wieder $email (die nicht belegt ist, mit error_reporting = E_ALL würdest du auch eine entsprechende notice bekommen) prüfst bzw. versuchst die anzuzeigen oder wenn du dir immer wieder $fehler neu belegst (sprich: überschreibst), dann brauchst du dich nicht zu wundern, dass genau das passiert, was du hier bemängelst. PHP tut genau das, was du ihm sagst. Es ist allerdings nicht unbedingt das, was du möglicherweise willst.

Matt
 
ja,ja,ich wollte eigentlich keine meisterprüfung auf php formulare machen.
bin schon seit 1 woche dran.aber mal was anderes.es muss doch möglich sein,
anstatt die läsitigen fehlermeldungen als txt auszuweisen,kann man doch
die nicht ausgefüllten felder doch farbig hinterlegen lassen.und dabei erscheint
nur noch ein text"bitte alle makierten felder ausfüllen"oder?
dadurch würde mein formular nicht so springen.
was php3 anbetrifft,dadurch das script auf $_POST, $_GET und $_REQUEST usw
wurde es für neuere versionen geschrieben.und als anfänger wieder umzusteigen
ne danke,bin froh das ich mich langsam an die begriffe gewöhne.deshalb habe ich
den server für neuere versionen angelegt.
 
eisman schrieb:
ja,ja,ich wollte eigentlich keine meisterprüfung auf php formulare machen.

Ein Gesellenbrief in Typografie wäre schon mal ein Anfang.

aber mal was anderes.es muss doch möglich sein, anstatt die läsitigen fehlermeldungen als txt auszuweisen,kann man doch die nicht ausgefüllten felder doch farbig hinterlegen lassen.und dabei erscheint
nur noch ein text"bitte alle makierten felder ausfüllen"oder?

Natürlich geht das. Z.B., indem du je nach Fall (Fehler/kein Fehler) unterschiedliche CSS-Klassen zuweist.

dadurch würde mein formular nicht so springen.

Wie, springen? Gibt's hier Kängurus?
was php3 anbetrifft,dadurch das script auf $_POST, $_GET und $_REQUEST usw wurde es für neuere versionen geschrieben.und als anfänger wieder umzusteigen ne danke,bin froh das ich mich langsam an die begriffe gewöhne.

Ich wollte dich auch nicht zu einer Rückkehr zu php3 bekehren. Wäre ja auch Schwachsinn. Ich war vielmehr auf der Suche nach deinen Fehlern. Und wenn du php3 nutzt ist es klar, das du aus $_POST, $_GET und $_REQUEST nichts herausbekommst. Die gab es damals noch gar nicht.

Matt
 
Zurück
Oben Unten