Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Enviar copia de correo al que lo envia en formulario de contacto

Estas en el tema de Enviar copia de correo al que lo envia en formulario de contacto en el foro de PHP en Foros del Web. Buenas , Tengo un formulario de contacto en mi web y funciona bien. El caso es que en una de las casillas pido el email ...
  #1 (permalink)  
Antiguo 19/02/2016, 04:03
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Enviar copia de correo al que lo envia en formulario de contacto

Buenas ,

Tengo un formulario de contacto en mi web y funciona bien.

El caso es que en una de las casillas pido el email del que envia el formulario para evidentemente poder contactar luego con el y lo que quería hacer es que ademas de mandarme el mensaje a mi como destinatario le llegue una copia a el que lo envia en el correo que escriba en el formulario.

Este es el codigo PHP :

Código:
<?php

include 'functions.php';

if (!empty($_POST)){

  $data['success'] = true;
  $_POST  = multiDimensionalArrayMap('cleanEvilTags', $_POST);
  $_POST  = multiDimensionalArrayMap('cleanData', $_POST);

  //your email adress 
  $emailTo ="[email protected]"; 

  //from email adress
  $emailFrom ="[email protected]"; 

  //email subject
  $emailSubject = "Mail subject";

  $name = $_POST["name"];
  $email = $_POST["email"];
  $comment = $_POST["comment"];
  if($name == "")
   $data['success'] = false;
 
 if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) 
   $data['success'] = false;


 if($comment == "")
   $data['success'] = false;

 if($data['success'] == true){

  $message = "Nombre: $name<br>
  Email: $email<br>
  Comentario: $comment";


  $headers = "MIME-Version: 1.0" . "\r\n"; 
  $headers .= "Content-type:text/html; charset=utf-8" . "\r\n"; 
  $headers .= "From: <$emailFrom>" . "\r\n";
  mail($emailTo, $emailSubject, $message, $headers);
  mail($emailFrom, $emailSubject, $message, $headers);

  $data['success'] = true;
  echo json_encode($data);
}
}
La segunda linea de mail era la que habia intentado que ademas de mandarselo al emailTo que es mi correo, se lo mande al emailFrom que es el del cliente pero no funciona, no podia ser tan facil XD.

Si alguno me sabe orientar estaría genial!
  #2 (permalink)  
Antiguo 19/02/2016, 04:26
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Respuesta: Enviar copia de correo al que lo envia en formulario de contacto

Vale amigos soy un poco subnormal y a pesar de estar mirando un rato el codigo no habia visto que estaba marcando en el envio emailFrom y no $email que es donde se guarda el email que escribe el cliente en ese campo del formulario.

Después de eso ya he conseguido que me lo mande a los 2 lados , tanto a mi como al cliente que lo quiera y le he metido un checkbox que si lo marca se lo envie y sino lo marca no lo haga :)

Por si alguien quiere el codigo aunque no es nada del otro mundo :

Código:
<?php

include 'functions.php';

if (!empty($_POST)){

  $data['success'] = true;
  $_POST  = multiDimensionalArrayMap('cleanEvilTags', $_POST);
  $_POST  = multiDimensionalArrayMap('cleanData', $_POST);

  //your email adress 
  $emailTo ="[email protected]"; 

  //from email adress
  $emailFrom ="[email protected]"; 

  //email subject
  $emailSubject = "Mail subject";

  $name = $_POST["name"];
  $email = $_POST["email"];
  $comment = $_POST["comment"];
  if($name == "")
   $data['success'] = false;
 
 if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) 
   $data['success'] = false;


 if($comment == "")
   $data['success'] = false;

  if(isset($_POST['test'])){
	  
  $message = "Nombre: $name<br>
  Email: $email<br>
  Comentario: $comment";


  $headers = "MIME-Version: 1.0" . "\r\n"; 
  $headers .= "Content-type:text/html; charset=utf-8" . "\r\n"; 
  $headers .= "From: <$emailFrom>" . "\r\n";
  mail($email, $emailSubject, $message, $headers);

  $data['success'] = true;
  echo json_encode($data);
	  
  }

 if($data['success'] == true){

  $message = "Nombre: $name<br>
  Email: $email<br>
  Comentario: $comment";


  $headers = "MIME-Version: 1.0" . "\r\n"; 
  $headers .= "Content-type:text/html; charset=utf-8" . "\r\n"; 
  $headers .= "From: <$emailFrom>" . "\r\n";
  mail($emailTo, $emailSubject, $message, $headers);
  //mail($email, $emailSubject, $message, $headers);

  $data['success'] = true;
  echo json_encode($data);
}
}
Aqui el formulario en HTML con el checkbox :

Código:
<div class="map-wrapper">
                    <div class="map-canvas" id="map-canvas">Loading map...</div>
                    <div class="container">
                        <div class="row-fluid">
                            <div class="span5 contact-form centered">
                                <h3>Formulario de contacto</h3>
                                <div id="successSend" class="alert alert-success invisible">
                                    <strong>Buen trabajo!</strong>tu mensaje ha sido enviado.</div>
                                <div id="errorSend" class="alert alert-error invisible">Ha habido un error.</div>
                                <form id="contact-form" action="php/mail.php">
                                    <div class="control-group">
                                        <div class="controls">
                                            <input class="span12" type="text" id="name" name="name" placeholder="* Tu nombre..." />
                                            <div class="error left-align" id="err-name">Porfavor introduzca su nombre.</div>
                                        </div>
                                    </div>
                                    <div class="control-group">
                                        <div class="controls">
                                            <input class="span12" type="email" name="email" id="email" placeholder="* Tu email..." />
                                            <div class="error left-align" id="err-email">Porfavor introduzca una dirección de email valida.</div>
                                        </div>
                                    </div>
                                    <div class="control-group">
                                        <div class="controls">
                                            <textarea class="span12" name="comment" id="comment" placeholder="* Comentario..."></textarea>
                                            <div class="error left-align" id="err-comment">Porfavor introduzca su comentario.</div>
                                        </div>
                                    </div>
									<div class="control-group">
                                        <div class="controls">
									<input type="checkbox" name="test" value="value1">
										</div>
									</div>
                                    <div class="control-group">
                                        <div class="controls">
                                            <button id="send-mail" class="message-btn">Enviar mensaje</button>
                                        </div>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>

Etiquetas: contacto, copia, correo, envia, formulario, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:25.