Die "sendmail.php" wie ausfüllen?

DaveThuet

Erfahrenes Mitglied
Hallo! :)
Habe ein kleines Problem der hier sicher in Windeseile gelöst wird.
Aber meine Unwissenheit in PHP zwingt mich Euch zu stören mit belanglosem.
In meiner Homepage habe ich eine kontakt.php (LINK), dass in Verbindung mit einer sendmail.php funktioniert.
Wie kann ich den Absender definieren, also das wenn ich im Outlook auf "Antworten" Klicke bereits die eingegebene Email-Adresse des Besuchers angesprochen wird?
Dasselbe mit dem Betreff, dass ebenfalls in der "kontakt.php" gewählt wird vom Besucher?

Hier der Code der sendmail.php
PHP:
<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'muster@muster.ch';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom       = '"Kontakt Website" <muster@muster.ch>';

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Kontakt Website';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'index.php?page=danke';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

und der Code der kontakt.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php //PHP ADODB document - made with PHAkt 3.7.1?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kontaktformular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body><script type="text/javascript">
checkKontaktForm = function(f) {
	if(f.txtAnrede.value.length < 4) {
		alert('Bitte Anrede wählen.');
		return false;
	}
	if(f.txtVorname.value.length < 2) {
		alert('Bitte Vornamen eingeben.');
		return false;
	}
	if(f.txtName.value.length < 2) {
		alert('Bitte Name eingeben.');
		return false;
	}
	if(f.txtLand.value.length < 7) {
		alert('Bitte Land auswählen.');
		return false;
	}
	if(f.txtEmail.value.length < 6) {
		alert('Bitte Emailadresse eingeben.');
		return false;
	}
	if(f.txtBetreff.value.length < 7) {
		alert('Bitte Betreff wählen.');
		return false;
	}
	if(f.txtBemerkungen.value.length < 6) {
		alert('Bitte Kommentar eingeben.');
		return false;
	}
	return true;
}
</script><form action="sendmail.php" id="kontakt" method="post" name="kontakt" onSubmit="return checkKontaktForm(this)">
<strong>&raquo;&nbsp;</strong><span class="absatz">Kontaktformular:</span>
<br /><br />
<table width="460" border="0" align="center" cellpadding="0" cellspacing="0" style="">
<tbody>
  <tr>
    <td height="26" style="">Anrede: <span class="absatz">*</span></td>
          <td style="">
        <select name="txtAnrede">
            <option value="---">---</option>
            <option value="Frau">Frau</option>
            <option value="Herr">Herr</option>
          </select>      </td>
  </tr>
  <tr>
    <td height="26" style="" width="180">Vorname: <span class="absatz">*</span></td>
    <td style="" width="280"><input id="txtVorname" name="txtVorname" size="40"/></td>
  </tr>
  <tr>
    <td height="26" style="">Name: <span class="absatz">*</span></td>
    <td style=""><input id="txtName" name="txtName" size="40"/></td>
  </tr>
  <tr>
    <td height="26" style="">Strasse:</td>
    <td style=""><input id="txtStrasse" name="txtStrasse" size="40"/></td>
  </tr>
  <tr>
    <td height="26" style="">Plz/Ort:</td>
    <td style=""><input id="txtPlzOrt" name="txtPlzOrt" size="40"/></td>
  </tr>
    <tr>
      <td height="26" style="">Land: <span class="absatz">*</span></td>
      <td style="">
        <select name="txtLand">
            <option value="------">------</option>
            <option value="Schweiz">Schweiz</option>
            <option value="Deutschland">Deutschland</option>
            <option value="&Ouml;sterreich">&Ouml;sterreich</option>
            <option value="Lichtenstein">Lichtenstein</option>
          </select>      </td>
    </tr>
  <tr>
    <td height="26" style="">Telefon:</td>
    <td style=""><input id="txtTelefon" name="txtTelefon" size="40"/></td>
  </tr>
  <tr>
    <td height="26" style="">Email: <span class="absatz">*</span></td>
    <td style=""><input id="txtEmail" name="txtEmail" size="40"/></td>
  </tr>
  <tr>
    <td height="26" style="">Betreff: <span class="absatz">*</span></td>
      <td style="">
        <select name="txtBetreff">
            <option value="------">------</option>
            <option value="Anfrage">Anfrage</option>
            <option value="Feedback">Feedback</option>
            <option value="Smalltalk">Smalltalk</option>
            <option value="Textlinktausch">Textlinktausch</option>
            <option value="Bannerlinktausch">Bannerlinktausch</option>
            <option value="Wallpaper mit © löschen">Wallpaper mit © löschen</option>
          </select>      </td>
  </tr>
  <tr>
    <td height="26" style="">Bemerkungen: <span class="absatz">*</span></td>
    <td style="">
      <textarea name="txtBemerkungen" cols="40" rows="4" id="txtKursBemerkungen"></textarea></td>
  </tr>
  <tr>
    <td height="26" style="">&nbsp;</td>
    <td style="">&nbsp;</td>
  </tr>
  <tr>
    <td style="">&nbsp;</td>
    <td style=""><input name="Submit" type="submit" value="Senden"/> </td>
  </tr>
  <tr>
    <td style="">&nbsp;</td>
    <td style="">&nbsp;</td>
  </tr>
</tbody>
</table>
<p><span class="absatz">*</span> = Pflichtfelder!<br />
Es werden nur ernsthafte Kontaktanfragen beantwortet.</p>
</form>
</body>
</html>

Ich danke Euch für Eure Hilfe! ;)
 
Hi,

dieses kleine Beispiel sollte dir helfen:

PHP:
<?php
    $header  = "From: Dein Name <deine@email.de>\n";
    $header .= "X-Sender: <deine@email.de>\n";
    $header .= "X-Mailer: PHP\n";
    $header .= "X-Priority: 3\n";
    $header .= "Errors-To: <errors@email.de>\n";
    $header .= "Return-Path: <return@email.de>\n";
    $header .= "Reply-To: <reply@email.de>\n";
    $header .= "Content-Type: text; charset=iso-8859-15\n";
    mail( "mailziel@email.de", "Betreff", "Test Mail\n \n Ciao!", $header );
?>

Das Reply-To ist dabei für dich wohl interessant :)

Viele Grüße,
BigManu
 
Zuletzt bearbeitet:
Sorry, aber wahrscheinlich bin ich schwerr von Begriff... :(
Ich verstehe nach wie vor nicht was ich im Feld reinschreiben soll.
PHP:
$strFrom       = '"Kontakt Website" <muster@muster.ch>';
Der Besucher fühlt folgendes Feld aus auf der Kontaktseite:
HTML:
<tr><td height="26" style="">Email: <span class="absatz">*</span></td>
<td style=""><input id="txtEmail" name="txtEmail" size="40"/></td></tr>
Bitte nach wie vor um Hilfe... Danke Euch.
 
Na gut, dann mal in deinen Code eingebunden...

PHP:
<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'muster@muster.ch';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = "From: Kontakt Website <muster@muster.ch>\n";
$strFrom .= "X-Sender: <deine@email.de>\n";
$strFrom .= "X-Mailer: PHP\n";
$strFrom .= "X-Priority: 3\n";
$strFrom .= "Errors-To: <fehler@beimversand.de>\n";
$strFrom .= "Return-Path: <zurueckan@adresse.de>\n";
$strFrom .= "Reply-To: <adressevon@benutzer.de>\n";
$strFrom .= "Content-Type: text; charset=iso-8859-15\n";

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Kontakt Website';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'index.php?page=danke';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, $strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

Hoffe, damit kannst du mehr anfangen!

Viele Grüße,
BigManu
 
Morgen...
Also, nach dem ich Dein Code eingebunden habe gab es keine Fehler. ;)
aber..
wenn ich auf "Antworten" klicke im Outlook kommt nun "adressevon@benutzer.de" und nicht die Email-Adresse die vom Besucher eingegeben wurde? Somit bin ich gleich weit und muss diese aus dem Email-Text rauskopieren und dann einfügen in der Adressleiste des Outlooks. :(
Wäre eben froh wenn ich auf "Antworten" klicke, direkt seine Adresse übernommen wurde.
Danke trotzdem und nach wie vor offen für Vorschläge.
 
Moin.
Sorry, wenn ich jetzt etwas unhöflich wirke. Aber, dass ich dir keinen Fertigcode liefere war doch wohl noch zu verstehen oder?
An der Stelle, wo "adressevon@benutzer.de" steht, muss der $_POST des Benutzers rein.

Also, dann jetzt doch der fertige Code...

PHP:
<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'muster@muster.ch';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = "From: Kontakt Website <muster@muster.ch>\n";
$strFrom .= "X-Sender: <muster@muster.ch>\n";
$strFrom .= "X-Mailer: PHP\n";
$strFrom .= "X-Priority: 3\n";
$strFrom .= "Errors-To: <muster@muster.ch>\n";
$strFrom .= "Return-Path: <muster@muster.ch>\n";
$strFrom .= "Reply-To: " . $_POST['txtEmail'] . "\n";
$strFrom .= "Content-Type: text; charset=iso-8859-15\n";

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Kontakt Website';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'index.php?page=danke';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, $strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

Einfach für Reply-To den $_POST['txtEmail'] des abgesendeten Formulars und schon dürfte das funktionieren...

Gruß,
BigManu
 
Hallo BigManu,
entschuldige mich aber Du hast vollkommen recht...
Ich hatte mein Hirn noch nicht am laufen am Morgen.
Danke Dir vielmals für Deine Geduld und für den Code! :)
Noch ne kleine Frage...
Wie kann ich das ganze als HTML-Mail erhalten?
Ist das überhaupt Möglich oder müsste ich da das ganze Formular ändern?
thx
;)
 
Um dabei zu bleiben dir den Code zu erstellen, würde das ganze geeignet für eine HTML-Mail dann wie folgt aussehen:

PHP:
<?php

### Konfiguration ###

# Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

# An welche Adresse sollen die Mails gesendet werden?
$strEmpfaenger = 'muster@muster.ch';

# Welche Adresse soll als Absender angegeben werden?
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$strFrom = "MIME-Version: 1.0\n";
$strFrom .= "Content-type: text/html; charset=iso-8859-1\n";
$strFrom .= "From: Kontakt Website <muster@muster.ch>\n";
$strFrom .= "X-Sender: <muster@muster.ch>\n";
$strFrom .= "X-Mailer: PHP\n";
$strFrom .= "X-Priority: 3\n";
$strFrom .= "Errors-To: <muster@muster.ch>\n";
$strFrom .= "Return-Path: <muster@muster.ch>\n";
$strFrom .= "Reply-To: " . $_POST['txtEmail'] . "\n";

# Welchen Betreff sollen die Mails erhalten?
$strSubject    = 'Kontakt Website';

# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$strReturnhtml = 'index.php?page=danke';

# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$strDelimiter  = ":\t";

### Ende Konfiguration ###

if($_POST)
{
 $strMailtext = "";

 while(list($strName,$value) = each($_POST))
 {
  if(is_array($value))
  {
   foreach($value as $value_array)
   {
    $strMailtext .= $strName.$strDelimiter.$value_array."\n";
   }
  }
  else
  {
   $strMailtext .= $strName.$strDelimiter.$value."\n";
  }
 }

 if(get_magic_quotes_gpc())
 {
  $strMailtext = stripslashes($strMailtext);
 }

 mail($strEmpfaenger, $strSubject, $strMailtext, $strFrom)
  or die("Die Mail konnte nicht versendet werden.");
 header("Location: $strReturnhtml");
 exit;
}

?>

Also letztendliche einfach nur eine Mime-Version dem Header hinzufügen und den Content-Type für HTML ändern.

Wenn du das hast, kannst du in deinen Mails ganz normales HTML und CSS verwenden.

Viele Grüße,
BigManu
 
Zurück