PHP - hacer llegar a dos emails una consulta por formulario

 
Vista:

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 29/10/2014 13:24:34
Hola a todos:
tengo un pequeño problema de programación con el envio de los datos que proporciona un formulario y los gestioina la pagina envio.php.
me explico:
este es el codigo que tengo en PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
session_start();
$num1=$_SESSION['numero1'];
$num2=$_SESSION['numero2'];
$sumval = $num1 + $num2;
$numval=$_POST['respuesta'];
 
if ($sumval == $numval)
{
$email=$_POST['email'];
$consulta=$_POST['comentario'];
$nombre=$_POST['nombre'];
$apellidouno=$_POST['apellidouno'];
$apellidodos=$_POST['apellidodos'];
$empresa='contacto@midominio.com';
$empresa='webmaster@midominio.com';
 
$header .='From:'.$empresa."\r\n";
	$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
	$header .= "Mime-Version: 1.0 \r\n";
	$header .= "Content-Type: text/plain; charset=utf8";
	$mensaje .= "e-mail remitido por :" .  "  " . $nombre. "    ". $apellidouno. "  ". $apellidodos ."\r\n";
	$mensaje .= "\r\n";
	$mensaje .= "con email :" . "  " . $email . "\r\n";
	$mensaje .= "\r\n";
	$mensaje .= "Enviado el dia " . date('d/m/Y');
	$mensaje .= " " . "\r\n";
	$mensaje .= "\r\n";
	$mensaje .= "\r\n";
	$mensaje .= "Su consulta ha sido... :" .$consulta."\r\n";
    $mensaje .= "\r\n";
	$mensaje .= "\r\n";
 
$asunto= 'solicitud de contacto via formulario';
 
	mail($email, $asunto, ($mensaje), $header);
 
				$asunto='Copia de solicitud de contacto';
				mail($empresa, $empresa, $asunto, ($mensaje), $header);
 
				  echo('<script language="JavaScript" >');
    echo('alert(" Su solicitud de contacto ha sido procesada correctamente\n Le ha sido remitido un email de confirmacion a la direccion de e-mail que nos ha facilitado.\n en breve nos pondremos en contacto con usted. \n Gracias.");');

Si hay algún error, aparece un cuadro de texto que avisa de los errores a corregir.

Como habreis comprobado hay DOS $empresa cada uno de ellos con un email distinto, pero solamente me envia un solo email a una sola cuenta.
si por ejemplo cambio a $empresa para un email y $empresa2 para el otro email y despues hago lo mismo en el envio de mail(), solamente envia el email a quien ha escrito el email pero no lo recibe ni $empresa ni $empresa2.

¿COMO PUEDO HACER PARA QUE SE RECIBA EL CONTENIDO DEL EMAIL EN LAS DOS DIRECCIONES DE $empresa.
He intentado tambien concatenar dentro de $empresa los dos emails, a modo de :

$empresa='[email protected]' . '[email protected]';
tambien los he puesto ambos dentro de un parentesis pero tampoco me funciona y seguro que es una tonteria que se me escapa pero que no soy capaz de ver.
¿podeis ayudarme?.
Gracias desde ahora mismo por vuestro interes y colaboración.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

hacer llegar a dos emails una consulta por formulario

Publicado por xve (6935 intervenciones) el 29/10/2014 18:33:27
Hola Jordi, dependiendo de donde envíes el correo, enviando con la instrucción mail() no llegara... a mi personalmente, no me llegarían nunca por el sistema que tenemos instalado, ya que quiere que se envié desde el servidor de correo, no desde PHP con la instrucción mail(), ya que no utiliza ningún servidor SMTP de correo.

Puede ser ese el problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 29/10/2014 19:58:10
Hola xve:

Vamos por partes:
en la web que esta realizada en HTML5, hay un formulario que envia mediante $_POST, el nombre de los campos a una pagina en PHP que es la que he puesto una parte arriba que es la encargada de gestionar todo lo relacionado con comprobacion de campos corectos, enviar el email de confirmacion a quien ha rellenado el formulario de la consulta y despues envia tambien un email a la direccion [email protected].
Esto esta bien programado y el gestor de correo lo tengo configurado con la opcion de IMAP , SMTP, de forma que solo desaparezca del servidor cuando los emails son eliminados desde el gestor de emails (thunderbird) o desde el mismo servidor web entrando en webmail del servidor directamente.
Pero como he comentado algun error debo cometer pues solamente me envia un solo email y quisiera que me enviara dos uno a cada direccion contacto y [email protected] para tener constancia de que ha llegado un email por mi parte y por parte de mi cliente.
todas las pruebas que he realizado el supuesto cliente recibe el email de confirmacion perfectamente bien y con el texto bien formateado y una de las cuentas del receptor de la consulta por formulario tambien recibe el email pero no los dos. seguro que es algun problema de parentesis, comillas sencillas o dobles, concatenacion o algo parecido pero ya lo he probado y no me sale, seguro que hay algo que se me escapa y no se lo que es.
Espero que con esta explicación estés algo mas situado en el problema que comento.
Gracias or tu atencion y colaboracion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

hacer llegar a dos emails una consulta por formulario

Publicado por xve (6935 intervenciones) el 29/10/2014 21:00:01
Hola Jordi, gracias por comentarlo...

Revisando nuevamente tu código, veo que en el esta linea:
1
mail($empresa, $empresa, $asunto, ($mensaje), $header);

Tienes repetida dos veces el correo de la empresa, y el header no queda en la opcion correcta de la función mail, sino que queda en la opcion de los parametros adicionales, no en el header...
1
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Puedes probar así:
1
mail($empresa, $asunto, ($mensaje), $header);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 10/01/2015 14:09:31
Hola xvi.
perdona por no responder antes pero me ha sido imposible.
en la forma que tu me dices en el ultimo post, es la forma original de envio del email y es como lo tenia configurado, pero solamente me envia un email, el que esta en primer lugar.
otra cosa que he hecho ha sido probar con todas estas opciones que tampoco me han dado ningun resultado.

en la configuracion he escrito:

$empresa='[email protected]';
$empresaw='[email protected]';

despues en la funcion mail() he probado lo siguiente: sin exito .

mail($empresa. $empresaw, $asunto, ($mensaje), $header);
o
mail(($empresa. $empresaw), $asunto, ($mensaje), $header);

y tambien lo he hecho usando comillas simples y dobles , concatenando las variables $empresa y $empresaw pero sin resultados positivos,
la verdad ya no se ni que hacer ni que probar pues estoy seguro que algo hago mal pero no se el que puede ser.
a ver si puedes darme un poco de luz a todo esto porque ya me tiene loco perdido.
gracias de nuevo. y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por Martha (48 intervenciones) el 10/01/2015 14:34:21
Yo haría esto:

1
$empresa = 'contacto@dominio.com; webmaster@dominio.com';


No tienes necesidad (entiendo) de introducir cada dirección de email en una variable.

En caso de que te lleguen por alguna otra vía y que sean dos variables independientes, puedes hacer esto otro:

1
$email = $empresa . ';' . $empresaw;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 10/01/2015 15:02:05
Hola Martha:
Muchas gracias por tu respuesta, no habia caido en esta forma de escribir el codigo, lo pruebo y te digo si funciona.
Muchisimas gracias por tu aportacion y buen fin de semana.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 11/01/2015 16:35:33
Hola Martha:

He probado el primer supuesto que me has indicado y no me funciona, lo que SI que hace de esta forma es enviar al email de la persona que llena el formulario de la consulta un email desde las dos direcciones declaradas en $empresa, en cambio NO llega ningun email a ninguna de las dos direciones de la variable $empresa.

probare de hacer el segundo ejemplo que me recomiendas a ver si con este procedimiento si que me hace lo que necesito.

Gracias de nuevo y te comento algo.

un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por jordi (8 intervenciones) el 12/01/2015 12:38:12
Hola de nuevo:
Nada de nada, no me funciona ninguna de las sugerencias que me habeis dado, ni las de xvi ni las de martha, he probado con todo y de la unica manera que me funciona "correctamente" es dejando una sola direccion de email en $empresa=............................................................;

por mas que he intentado todo lo que me habeis dicho no he conseguido nada de nada, solamente envia el email a quien realiza la consulta pero no se recibe ningun email a la empresa.

Por favor si alguien tiene alguna idea o se da cuenta de donde esta el error en el codigo de arriba del post y me lo puede aclarar todo lo que no esta correcto y os lo agradecere muchisimo.

muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de txema
Val: 79
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

hacer llegar a dos emails una consulta por formulario

Publicado por txema (7 intervenciones) el 12/01/2015 17:06:05
Hola jordi:

Desde lo que sé, creo que hay un "pequeño" error al configurar el destino múltiple del correo.

Lo he testeado y me funciona bajo estos parámetros:
1
2
3
// Varios destinatarios
$para  = 'uno@example.com' . ', '; // atención a la coma
$para .= 'dos@example.com';

Estoy de acuerdo con xve cuando se refiere a enviar a través de servidor SMTP de correo pero (y lo digo por experiencia reciente) a veces nos vemos obligados a acudir a la función mail()
Me siento más seguro cuando utilizo el paquete PEAR.

Cuéntanos, jordi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

hacer llegar a dos emails una consulta por formulario

Publicado por Jordi (8 intervenciones) el 12/01/2015 22:07:48
Hola txema.
ahora si que si del bueno.
todo funciona perfectamente bien y de la forma en que mi cliente y yo queriamos.
muchisimas gracias por este valiosisimo aporte para mi y creo que para todo aquel que tenga un problema similar.
funciona correctamente, envia los dos emails a la empresa y un email al clente que ha realizado la consulta.
Muchisimas gracias a todos y todas y os deseo un feliz año. un cordial saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar