Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/08/2009, 06:20
Avatar de xalupeao
xalupeao
 
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 10 meses
Puntos: 12
Respuesta: Formulario de contacto con select

eso es por usar mail(), si quiere modificar completamente tu mail te recomiendo que uses una class con la phpmailer.

yo la uso y es muy buena nunca me ha fallado, la utilizo por medio de una funcion.

Cuando tomes los datos
Código PHP:
#inicias el objeto
$mail = new phpmailer();

$destinatario $email;
#Tipo de contenido en el Email
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
#dirección del remitente 
$headers .= "From: Tu Nombre <[email protected]>\r\n"
#dirección de respuesta, si queremos que sea distinta que la del remitente 
$headers .= "Reply-To: [email protected]\r\n";

#enviamos el email
echo envia($destinatario,$asunto,$cuerpo,$headers); 
----
Funcion envia();
-----
Código PHP:
function envia($destinatario,$asunto,$cuerpo,$headers){
global 
$mail;

  
//Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail
  
$mail->IsSMTP ();
  
//Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  
$mail->Mailer    "smtp";

  
// Esta variable es para que llegue a hotmail
  
$mail->Helo "www.tuweb.tld";

  
//Puerto que usaremos
  
$mail->Port=25;
  
  
//Asignamos a Host el nombre de nuestro servidor smtp
  
$mail->Host "localhost"

  
//Le indicamos que el servidor smtp requiere autenticación
  
$mail->SMTPAuth true;

  
//Le decimos cual es nuestro nombre de usuario y password
  
$mail->Username "[email protected]"
  
$mail->Password "tu_contraseña"

  
//Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$mail->From "[email protected]"
  
$mail->FromName "Tu Nombre"

  
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  
$mail->Timeout=30;

  
//Indicamos cual es la dirección de destino del correo
  
$mail->ClearAllRecipients();
  
$mail->AddAddress($destinatario);
  
$mail->AddCC("[email protected]"); 

  
//Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  
  //hacemos unos cambios para ver que onda
  
$cuerpo stripslashes ($cuerpo);
  
$cuerpo_text str_replace ('</p>''

'
$cuerpo);
  
$cuerpo_text str_replace ('<br>''
'
$cuerpo_text);
  
$cuerpo_text strip_tags ($cuerpo_text);
  
  
$mail->Subject $asunto;
  
  
$mail->Body $cuerpo;

  
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
  
$mail->AltBody $cuerpo_text;

  
//se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor true
  
$exito $mail->Send();

  
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho 
  //para intentar enviar el mensaje, cada intento se hara 5 segundos despues 
  //del anterior, para ello se usa la funcion sleep    
  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
//echo $mail->ErrorInfo;
         
$exito $mail->Send();
         
$intentos=$intentos+1;    
    
   }
 

Recuerda que estos campos debes llenarlos para hacer la conexion SMTP.

$mail->Host = "localhost";
$mail->Username = "[email protected]";
$mail->Password = "tu_contraseña";