Foros del Web » Programando para Internet » PHP »

Enviar correos a 2 destinatarios con php

Estas en el tema de Enviar correos a 2 destinatarios con php en el foro de PHP en Foros del Web. Hola muchachos ... Estoy haciendo un formulario de contacto con uno que encontré en la web pero quiero que se envíe a dos correos y ...
  #1 (permalink)  
Antiguo 22/04/2014, 10:59
Avatar de DjDance
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago de Chile
Mensajes: 775
Antigüedad: 18 años, 3 meses
Puntos: 80
Enviar correos a 2 destinatarios con php

Hola muchachos ...

Estoy haciendo un formulario de contacto con uno que encontré en la web
pero quiero que se envíe a dos correos y no puedo lograrlo.

en otros casos he separado los correos con una coma (,) pero ahora no funciona.

Acá les dejo el código por si me pueden echar una manito.

Código PHP:
<?php

if(!$_POST) exit;

// Email address verification, do not edit.
function isEmail($email) {
    return(
preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
}

if (!
defined("PHP_EOL")) define("PHP_EOL""\r\n");

$name     $_POST['name'];
$email    $_POST['email'];
$phone   $_POST['phone'];
$subject  $_POST['subject'];
$comments $_POST['comments'];
$verify   $_POST['verify'];

if(
trim($name) == '') {
    echo 
'<div class="error_message">Atentción! Debe itroducir su nombre.</div>';
    exit();} 
    
    else if(
trim($email) == '') {
    echo 
'<div class="error_message">Atención! Por favor introduzca una dirección de mail válida.</div>';
    exit();}

else if(!
isEmail($email)) {
    echo 
'<div class="error_message">Atención! Has introducido una dirección de mail inválida, Inténtalo nuevamente.</div>';
    exit();
}

if(
trim($subject) == '') {
    echo 
'<div class="error_message">Atención! Por favor seleccione un asunto.</div>';
    exit();
} else if(
trim($comments) == '') {
    echo 
'<div class="error_message">Atención! Por favor, escriba un mensaje.</div>';
    exit();
} else if(!isset(
$verify) || trim($verify) == '') {
    echo 
'<div class="error_message">Atención! Por favor introduzca el número de verificación.</div>';
    exit();
} else if(
trim($verify) != '4') {
    echo 
'<div class="error_message">Atención! El número de verificación es incorrecto.</div>';
    exit();
}

if(
get_magic_quotes_gpc()) {
    
$comments stripslashes($comments);
}


// Configuration option.
// Enter the email address that you want to emails to be sent to.
// Example $address = "[email protected]";

//$address = "[email protected]";
$address "[email protected]";


// Configuration option.
// i.e. The standard subject will appear as, "You've been contacted by John Doe."

// Example, $e_subject = '$name . ' has contacted you via Your Website.';

$e_subject 'Has sido contactado por ' $name '.';


// Configuration option.
// You can change this if you feel that you need to.
// Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.

$e_body "Has sido contactado por $name por $subject, Su mensaje es el siguiente." PHP_EOL PHP_EOL;
$e_content "\"$comments\"" PHP_EOL PHP_EOL;
$e_reply "Puedes contactar a $name via email, $email o por teléfono $phone";

$msg wordwrap$e_body $e_content $e_reply70 );

$headers "From: $email" PHP_EOL;
$headers .= "Reply-To: $email" PHP_EOL;
$headers .= "MIME-Version: 1.0" PHP_EOL;
$headers .= "Content-type: text/plain; charset=utf-8" PHP_EOL;
$headers .= "Content-Transfer-Encoding: quoted-printable" PHP_EOL;

if(
mail($address$e_subject$msg$headers)) {

    
// Email has sent successfully, echo a success page.

    
echo "<fieldset>";
    echo 
"<div id='success_page'>";
    echo 
"<h1>Email Enviado Satisfactoriamente.</h1>";
    echo 
"<p>Gracias <strong>$name</strong>, tu mensaje ha sido enviado a nuestro equipo, a la brevedad responderemos tu correo.</p>";
    echo 
"</div>";
    echo 
"</fieldset>";

} else {

    echo 
'ERROR!';

}
Muchas gracias.
__________________
My Music xD
http://soundcloud.com/dj-dance-1
  #2 (permalink)  
Antiguo 22/04/2014, 11:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Enviar correos a 2 destinatarios con php

Te recomiendo que hagas un echo o var_dump a la variable que contiene los email para que veas como fueron creados.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 22/04/2014, 12:32
Avatar de DjDance
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago de Chile
Mensajes: 775
Antigüedad: 18 años, 3 meses
Puntos: 80
Respuesta: Enviar correos a 2 destinatarios con php

olvide mencionar que no me manejo en php
__________________
My Music xD
http://soundcloud.com/dj-dance-1
  #4 (permalink)  
Antiguo 22/04/2014, 14:05
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Enviar correos a 2 destinatarios con php

Puedes hacer un while aunque no es la mejor manera:

Código PHP:
Ver original
  1. $header = 'From: ' .$abaco. " \r\n";
  2. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  3. $header .= "Mime-Version: 1.0 \r\n";
  4. $header .= "Content-Type: text/plain";
  5.  
  6. $q_mail=mysql_query("SELECT email FROM tabla");
  7.  
  8. while($s_mail=mysql_fetch_row($q_mail)) {
  9.  
  10. $mensaje = 'Hola';
  11. //a donde llega el mensaje
  12.  
  13. $para = $s_mail[0];
  14. $asunto = 'Prueba';
  15.  
  16. mail($para, $asunto, $mensaje, $header);
  17.  
  18. }

Sin embargo te recomiendo que utilices las librerías de phpMailer, funciona mejor y no tienes problemas de que no lleguen los correos a sus destinatarios.

Código PHP:
Ver original
  1. $mail->AddAddress("[email protected]");
  2. $mail->addBCC("[email protected]");
  3. $mail->addBCC("[email protected]");
  4. $mail->addBCC("[email protected]");
  #5 (permalink)  
Antiguo 22/04/2014, 14:13
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 766
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Enviar correos a 2 destinatarios con php

puedes hacer estos $address = "core1@coreo,core2@coreo";

si usted mismo pondras el coreo si lo tienes en una tablas con un while puedes selecionarlos



suerte
  #6 (permalink)  
Antiguo 22/04/2014, 15:09
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Enviar correos a 2 destinatarios con php

Según veo los correos los obtienes de un formulario de contacto, ¿el primer correo es del usuario que escribe en el formulario y el segundo sería el tuyo? ¿o de dónde obtienes los correos? ¿de una base de datos?

Si los obtienes desde una base de datos el while también funciona para el ejemplo que te puse de las librerías de phpMailer, porque no funciona separando por comas:

Código PHP:
$q_mail=mysql_query("SELECT email FROM tabla");
 
while(
$s_mail=mysql_fetch_row($q_mail)) {

$mail->AddAddress($s_mail[0]);


  #7 (permalink)  
Antiguo 23/04/2014, 05:55
Avatar de DjDance
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Santiago de Chile
Mensajes: 775
Antigüedad: 18 años, 3 meses
Puntos: 80
Respuesta: Enviar correos a 2 destinatarios con php

Cita:
Iniciado por xoceunder Ver Mensaje
puedes hacer estos $address = "core1@coreo,core2@coreo";
Lo intente de esta forma pero no dio resultado...
lo hice de las siguientes maneras:

"[email protected], [email protected]";

'[email protected], [email protected]';

en ambos casos los separe con una coma y también con un ;

Cita:
Iniciado por chubse Ver Mensaje
Según veo los correos los obtienes de un formulario de contacto
Sip, es un formulario de contacto.
lo que necesito es que el php envíe el mensaje que nos escriben a dos correos.


Gracias por sus respuestas !!
__________________
My Music xD
http://soundcloud.com/dj-dance-1
  #8 (permalink)  
Antiguo 29/04/2014, 13:25
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Enviar correos a 2 destinatarios con php

Haber prueba de esta manera:

Código PHP:
Ver original
  1. $email .= "[email protected]";
  2. $email .= "[email protected]";
  3. $email .= "[email protected]";
  4. .
  5. .
  6. .

Si te fijas bien declaras el nombre de la variable y después pones un punto e igual (.=)

Etiquetas: correos, formulario
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 21:36.