2011-12-01 15 views
6

Soy completamente nuevo en scripts PHP y he reunido el siguiente código, pero me gustaría recibir el correo electrónico para mostrar que se envía desde el campo de correo electrónico en el formulario HTML en lugar del actual "The Tranquility" Sitio web de la zona [[email protected]] ". Por favor, ¿puedes aconsejarme qué debería cambiar? Muchas gracias.HTML Datos del formulario a través de PHP

<? 
$msg .= "Name:\t $_POST[name]\n"; 
$msg .= "E-mail:\t $_POST[email]\n"; 
$msg .= "Telephone:\t $_POST[telephone]\n"; 
$msg .= "Subject:\t $_POST[subject]\n"; 
$msg .= "Message:\t $_POST[message]\n"; 

$to = "[email protected]"; 
$subject = "Website feedback message"; 


$headers = 'From: '.$email_from."\r\n". 
      'Reply-To: '.$email_from."\r\n" . 

$mailheaders = "From: The Tranquility Zone Website <www.tranquilityzone.co.uk>\n"; 
$mailherders .= "Reply to: $_POST[sender_email]\n"; 


header("Location: http://www.tranquilityzone.co.uk/thank_you.html"); 

@mail ($to, $subject, $msg, $mailheaders); 
?> 
+6

Usted debe tener cuidado de jugar con eso. Es una buena forma de poner su servidor en la lista negra. Si el servidor de correo electrónico no coincide con el servidor de envío real, se verá como correo no deseado. ¿Qué le impide al usuario enviar algo como [email protected] o [email protected]? –

Respuesta

0

Parece que tienes un mispelling en sus 2das mailheaders (mailherders) Variable

Prueba esto:

$headers = 'From: '.$email_from."\r\n". 
      'Reply-To: '.$email_from."\r\n" . 

$mailheaders = "From: The Tranquility Zone Website <www.tranquilityzone.co.uk>\n"; 
$mailheaders .= "Reply-to: $_POST[sender_email]\n"; 

MI RENUNCIA: No justifico este tipo de actividad, ya que parece muy sombreado cuando recibe correos electrónicos de alguien que no sea el verdadero remitente. Y sí, podrías estar en la lista negra por esto.

+0

gracias por su ayuda. Esto es solo para enviarme mensajes desde un formulario HTML y hacer que sea más fácil responder el mensaje directamente al remitente, por lo que no hay intenciones sombrías. – user1076476

+0

@ user1076476 bueno para escuchar :) no pensé que había algo más que verificar. Para referencia futura, habría sido algo bueno incluir en la pregunta original. – Robert

0
$mailheaders = "From: $_POST[sender_email]\n"; 
$mailheaders .= "Reply-to: $_POST[sender_email]\n"; 

o

$mailheaders = "From: $_POST[email]\n"; 
+0

Supongo que el formulario está en un sitio web. user1076476 no está interesado en el correo electrónico del servidor sino en la dirección de correo electrónico de la persona que ha rellenado el formulario. Según entendí, Kai Qing sugiere que no es necesario tratar de cambiar "De:", más bien usar información de $ msg. – cur4so

+0

Sí, el formulario está en un sitio web y solo quiero enviarme mensajes y hacer que sean fáciles de responder. Las respuestas ayudan. Gracias. – user1076476

1

cambiar el código para esto:

<?php 
    $msg .= "Name:\t ".$_POST['name']."\n"; 
    $msg .= "E-mail:\t ".$_POST['email']."\n"; 
    $msg .= "Telephone:\t ".$_POST['telephone']."\n"; 
    $msg .= "Subject:\t ".$_POST['subject']."\n"; 
    $msg .= "Message:\t ".$_POST['message']."\n"; 

    $to = "[email protected]"; 
    $subject = "Website feedback message"; 


    $headers = 'From: '.$_POST['email']."\r\n".'Reply-To: '.$_POST['email']."\r\n" . 

    $mailheaders = "From: ".$_POST['email']."\n"; 
    $mailheaders .= "Reply to: ".$_POST['email']."\n"; 


    header("Location: http://www.tranquilityzone.co.uk/thank_you.html"); 

    @mail ($to, $subject, $msg, $mailheaders); 
?> 
+0

Gracias por el asesoramiento y su experiencia. Esto realmente ha ayudado. – user1076476

+0

Esto se debe usar de manera responsable. – vdbuilder

Cuestiones relacionadas