2017-07-03 2 views
0

Ich habe ein Web-Forum mit dem folgenden Skript erstellt. Ich kann Anfragen von meiner Website erhalten; Die E-Mail-Adresse des Besuchers wird jedoch nicht in der vom Webmaster gesendeten E-Mail angezeigt. Ich hätte gerne eine Anleitung hier, um das Problem zu beheben.Forum E-Mail-Adresse Anzeige Problem

Hier ist mein PHP-Skript:

<?php $name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
mail($recipient, $subject, $formcontent) or die("Error!"); 
echo "Thank You!"; 
?> 

Hier ist, was ich von dem Webmaster bekam: Von: xx Nachricht: xx

Keine E-Mail-Adresse in der E-Mail durch den Webmaster geschickt aufgeführt.

fand ich einige ähnliche Skripte auf dem Web mit zwei zusätzlichen Reihen:

$mailheader = "From: $email \r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

Das gibt mir tatsächlich ein Fehler ausgegeben.

Wie kann ich das Problem beheben?

Danke!

Antwort

0

Sie könnten Kopfzeilen zur Mail-Funktion hinzufügen.

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
$headers .= "From: <$email>" . "\r\n"; 

mail($recipient, $subject, $formcontent, $headers); 

FYI - ich würde alle POST-Werte vor ihnen auf diese Weise

+0

Danke für Ihre Hilfe. Ich bekomme immer noch eine Fehlermeldung. Die Anfrage ging nicht durch. – LucyH

0

Der dritte Parameter von mail() ist nur der eigentliche Text der Nachricht verwenden, santize und validieren, die Sie als $message gespeichert haben. Die Variable vierte ist, wo Sie die Header definieren, und wo Sie definieren, wer die Nachricht From ist. Beachten Sie, dass Sie die Nachricht tatsächlich nicht als Kopfzeile übergeben müssen. Daher sollte Ihre Variable $formcontent Ihre Kopfzeile From: nicht enthalten. Sie müssen jedoch tun müssen Rücksendungen in Form von "\r\n" nach der angegebenen E-Mail-Adresse zur Verfügung stellen.

Der modifizierte Code würde wie folgt aussehen:

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent = "From: $name" . "\r\n"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
mail($recipient, $subject, $message, $formcontent) or die("Error!"); 
echo "Thank You!"; 
?> 

hoffe, das hilft! :)

+0

Hallo, ich habe Ihren Code kopiert und eingefügt. Ich bekomme immer noch eine Fehlermeldung. Die Anfrage ging nicht durch. – LucyH