Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Problema con carácteres en PHPmailer

Estas en el tema de Problema con carácteres en PHPmailer en el foro de Sistemas de gestión de contenidos en Foros del Web. Buenas, antes de nada felicitar a toda la peña que hace posible este gran foro, que me ha ayudado muchisissimas veces... GRACIAS. Esta vez, tengo ...
  #1 (permalink)  
Antiguo 16/12/2010, 08:12
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Problema con carácteres en PHPmailer

Buenas, antes de nada felicitar a toda la peña que hace posible este gran foro, que me ha ayudado muchisissimas veces... GRACIAS.

Esta vez, tengo un problema con el conocido PHPmailer...

Todo funciona correctamente, envía los mails, valida los campos, todo aparentemente bien, pero:

"LOS CORREOS ME LLEGAN CON LOS CARACTERES MAL"

Explico:
Si envías = recibes (aclaración)
Antón = antÓn

El código lo he cambiado entre: UTF-8 y el ISO, pero en los dos me llega mal.

Código del enviar el correo:
Código:
//CONFIGURACION 
$maximo_tamano= '6000000';                                                         //tamaño maximo de los archivos. 100000 equivale a 100kb.
$direccion_envio='mi dirección de correo'; //la direccion a la que se enviara el email.
$url='http://www.donde esta el formulario.es/contacto.php';  //la URL donde esta publicado el formulario. SIN la barra al final

//FIN CONFIGURACION
?>
<?PHP
//proceso del formulario
// si existe "enviar"...
if (isset ($_POST['enviar'])) {

// vamos a hacer uso de la clase phpmailer, 
require("class.phpmailer.php");

$mail = new PHPMailer();

//recogemos las variables y configuramos PHPMailer
$mail->From     = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio); 
$mail->Subject = $_POST['departamento'];
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);   
$empresa=$_POST['empresa'];   
$cargo=$_POST['cargo']; 
$sector=$_POST['sector'];
$empleados=$_POST['empleados'];
$facturacion=$_POST['facturacion'];
$telefono=$_POST['telefono'];
$fax=$_POST['fax'];
$direccion=$_POST['direccion'];
$cp=$_POST['cp'];
$poblacion=$_POST['poblacion'];
$gestion=$_POST['gestion'];
if (isset($_POST['boss']))  {  
     $boss=$_POST['boss']; 
}  
if (isset($_POST['crm']))  {  
     $crm=$_POST['crm']; 
} 
if (isset($_POST['solucionesmovilidad']))  {  
     $solucionesmovilidad=$_POST['solucionesmovilidad']; 
}
  if (isset($_POST['solucionesventa']))  {  
     $solucionesventa=$_POST['solucionesventa']; 
}
  if (isset($_POST['reporting']))  {  
     $reporting=$_POST['reporting']; 
}
  if (isset($_POST['mensajeria']))  {  
     $mensajeria=$_POST['mensajeria']; 
}
  if (isset($_POST['intranet']))  {  
     $intranet=$_POST['intranet']; 
}
  if (isset($_POST['gestiondocumental']))  {  
     $gestiondocumental=$_POST['gestiondocumental']; 
}
  if (isset($_POST['infraestructuras']))  {  
     $infraestructuras=$_POST['infraestructuras']; 
}
  if (isset($_POST['business']))  {  
     $business=$_POST['business']; 
}
$solucion=$_POST['solucion'];
$comentario=$_POST['comentario'];

//comprobamos si todos los campos fueron completados
if ($_POST['email']!='' && $_POST['nombre']!='' && $_POST['empresa']!='' && $_POST['telefono']!='' && $_POST['cp']!='') {

//armamos el html
$contenido = '<html><body>';
$contenido .= '<p>Mensaje enviado el '.  date("d M Y").'</p>';
$contenido .= '<hr />';
$contenido .= '<h3>Datos personales:</h3>';
$contenido .= '<p>Nombre: <strong>'.$_POST['nombre'].'</strong>';
$contenido .= '<p>Email: <strong>'.$_POST['email'].'</strong>';
$contenido .= '<hr />';
$contenido .= '<h3>Datos de la empresa:</h3>';
$contenido .= '<p>Empresa: <strong>'.$empresa.'</strong>';
$contenido .= '<p>Cargo: <strong>'.$cargo.'</strong>';
$contenido .= '<p>Sector: <strong>'.$sector.'</strong>';
$contenido .= '<p>Empleados: <strong>'.$empleados.'</strong>';
$contenido .= '<p>Facturación: <strong>'.$facturacion.'</strong>';
$contenido .= '<p>Teléfono: <strong>'.$telefono.'</strong>';
$contenido .= '<p>Fax: <strong>'.$fax.'</strong>';
$contenido .= '<p>Dirección: <strong>'.$direccion.'</strong>';
$contenido .= '<p>CP: <strong>'.$cp.'</strong>';
$contenido .= '<p>Población: <strong>'.$poblacion.'</strong>';
$contenido .= '<p>Gestión actual: <strong>'.$gestion.'</strong>';
$contenido .= '<hr />';
$contenido .= '<h3>Áreas de interés:</h3>';
$contenido .= '<p>Campos seleccionados:';
if (isset($_POST['boss']))  {  
$contenido .= '<strong> '.$boss.',</strong>';
} 
if (isset($_POST['crm']))  {  
$contenido .= '<strong> '.$crm.',</strong>';
}   
if (isset($_POST['solucionesmovilidad']))  {  
$contenido .= '<strong> '.$solucionesmovilidad.',</strong>';
}     
if (isset($_POST['solucionesventa']))  {  
$contenido .= '<strong> '.$solucionesventa.',</strong>';
}   
if (isset($_POST['reporting']))  {  
$contenido .= '<strong> '.$reporting.',</strong>';
}   
if (isset($_POST['mensajeria']))  {  
$contenido .= '<strong> '.$mensajeria.',</strong>';
}   
if (isset($_POST['intranet']))  {  
$contenido .= '<strong> '.$intranet.',</strong>';
}   
if (isset($_POST['gestiondocumental']))  {  
$contenido .= '<strong> '.$gestiondocumental.',</strong>';
}   
if (isset($_POST['infraestructuras']))  {  
$contenido .= '<strong> '.$infraestructuras.',</strong>';
}  
  if (isset($_POST['business']))  {  
$contenido .= '<strong> '.$business.',</strong>';
}   
$contenido .= '</p>';
$contenido .= '<p>Opción sectorial: <strong>'.$solucion.'</strong>';
$contenido .= '<p>Comentario: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';

$mail->Body    = $contenido;
// si todos los campos fueron completados enviamos el mail

$mail->Send();
$flag='ok';
$url="http://www.web donde esta.es/envio_correcto.php";
echo "<SCRIPT>window.location='$url';</SCRIPT>"; 
} else {
    
//si no todos los campos fueron completados se frena el envio y avisamos al usuario    
$flag='err';
$mensaje='<p><span style="color:red;">* Por favor, rellene los campos incompletos</span> '.$error_archivo.'</p>';

}
}
?>
Y el código del class (la parte relevante):
Código:
 public $CharSet           = 'UTF-8';//retoques miosssssssssssssssssssssssssssss, puede ser: 'UTF-8

  /**
   * Sets the Content-type of the message.
   * @var string
   */
  public $ContentType       = 'text/plain';

  /**
   * Sets the Encoding of the message. Options for this are
   *  "8bit", "7bit", "binary", "base64", and "quoted-printable".
   * @var string
   */
  public $Encoding          = '8bit';
Por si sirve de algo también, en la web donde se recogen los datos el char es:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


Gracias.

Etiquetas: caracteres, phpmailer
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 04:26.