Cómo hacer para mandar un mail con copia oculta desde PHP

publicado por: Anonymous

Bueno, mi problema es que estoy usando un PHP de un template que compré para hacer un formulario, pero no logro descifrar cómo modificarlo para que cuando el usuario envíe su consulta, no solo le llegue al mail recipiente, sino que se envíe una copia a otros correos.

Les dejo el PHP que estoy usando

Desde ya, muchas gracias!

<?php

$to = '[email protected]'; 


$name = $_POST['name'];
$tel = $_POST['tel'];
$subject = $_POST['subject'];
$email = $_POST['email'];
$message = $_POST['message'];


// Email Submit
// Note: filter_var() requires PHP >= 5.2.0
if ( isset($email) && isset($name) && isset($tel) && isset($subject) 
&& isset($message) && filter_var($email, FILTER_VALIDATE_EMAIL) ) {

 // detect & prevent header injections
$test = "/(content-type|bcc:|cc:|to:)/i";
foreach ( $_POST as $key => $val ) {
if ( preg_match( $test, $val ) ) {
  exit;
}
}

$body = <<<EMAIL
ASUNTO : $subject

HOLA MI NOMBRE ES, $name.

$message

DE : $name
TEL : $tel
MAIL : $email

EMAIL;


$header = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "rn" .
'Reply-To: ' . $_POST["email"] . "rn" .
'X-Mailer: PHP/' . phpversion();

//
 // mail( $to , $_POST['subject'], $_POST['message'], $headers );
 mail($to, $subject, $body, $header);
  //      ^
  //  Replace with your email 
}?>

solución

En la parte de $header que tienes, debes agregarle el CC/BCC, siguiendo tu código:

$header = 'From: ' . $_POST["name"] . '<' . $_POST["email"] . '>' . "rn" .
'Reply-To: ' . $_POST["email"] . "rn" .
'Cc: [email protected]' . "rn" .  // esto sería copia normal
'Bcc: [email protected]' . "rn" . // esto sería copia oculta
'X-Mailer: PHP/' . phpversion();

Aquí tienes el manual de la función mail y su uso (en el Ejemplo #4 verías lo que necesitas). Igualmente te recomiendo utilizar PHPMailer si vas a trabajar más con correos.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *