Foros del Web » Programando para Internet » PHP »

email con xajax 2 parte

Estas en el tema de email con xajax 2 parte en el foro de PHP en Foros del Web. Hola, bueno por fin pude enviar el correo con xajax con el phpmailer, ahora el problema es que como el body del mensaje lo diseño ...
  #1 (permalink)  
Antiguo 15/06/2009, 11:30
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 10 meses
Puntos: 9
email con xajax 2 parte

Hola, bueno por fin pude enviar el correo con xajax con el phpmailer, ahora el problema es que como el body del mensaje lo diseño con tablas para que se vea presentable, cuando veo el mensaje, este se muestra como codificacion html (osea etiquetas <table> y todo eso) , aqui muestro mi codigo...

Código PHP:
function procesar_contacto($form_entrada){
   
//creo el xajaxResponse para generar una salida
   
$respuesta = new xajaxResponse();
   
$respuesta->setCharacterEncoding('ISO-8859-1');
   
   
//validación
   
$error_form "";
   if (
$form_entrada["nombre"] == ""){
      
$error_form "* Debe escribir su nombre";
      
$marca "focus1";}
   elseif (
$form_entrada["postal"] == ""){
      
$error_form "* Debe escribir su nº postal";
      
$marca "focus2";}
   elseif (
$form_entrada["telefono"] == ""){
        
$error_form "* Debe escribir su teléfono";
      
$marca "focus3";}
   elseif (
$form_entrada["email"] == ""){
      
$error_form "* Debe escribir su e-mail";
      
$marca "focus4";}
    elseif (!
validar_email($form_entrada["email"])){
      
$error_form "* El e-mail es invalido";
      
$marca "focus4";}
   elseif (
$form_entrada["requerimiento"] == ""){
      
$error_form "* Debe escribir sus requerimientos";
      
$marca "focus5";}
      
   
//compruebo resultado de la validación
   
if ($error_form != ""){
      
//Hubo un error en el formulario
      //en la capa donde se muestran mensajes, muestro el error
      
$respuesta->Assign("alert","innerHTML","<span style='color:red;'>$error_form</span>");
      
$respuesta->Assign("focus1","innerHTML","");
      
$respuesta->Assign("focus2","innerHTML","");
      
$respuesta->Assign("focus3","innerHTML","");
      
$respuesta->Assign("focus4","innerHTML","");
      
$respuesta->Assign("focus5","innerHTML","");
      
$respuesta->Assign($marca,"innerHTML","<span style='color:red; font-size:10px;'>*</span>");
   }else{
         
$salida '<img src="images/sending.gif" width="16" height="16" />';
      
$respuesta->Assign("success","innerHTML",$salida);
      
//formateamos datos
      
$mensajeN str_replace("\n","<br>",$mensaje);
      
$fecha_envio date('d/m/Y'time());
      
$fecha_envio htmlentities($fecha_envio);
      
        
$mail = new PHPMailer();
        
$mail->IsSMTP();
        
$mail->Host "mail.f1lab.com";
        
$mail->Port=26;
        
$mail->CharSet "utf-8";
        
$mail->SMTPAuth true;
        
$mail->Username "xxx";
        
$mail->Password "xxx";
        
$mail->From $form_entrada["email"];
        
$mail->FromName $form_entrada["nombre"];
        
$mail->Subject "Contacto web xxxx";
        
$mail->AddAddress("xxxx","xxxx");
        
        
$mail->Body '<table>mi mensaje diseñado</table>';
            if (
$mail->Send()) {
                
$salida 'Su mensaje ha sido enviado<br>con éxito';
                  
$respuesta->Assign("success","innerHTML",$salida);
            } else {
                
$salida "No se pudo enviar su mensaje<br>en estos momentos".$mail->ErrorInfo;
                
$respuesta->Assign("success","innerHTML",$salida);
            }
      
//tenemos que devolver la instanciación del objeto xajaxResponse
   
}
   return 
$respuesta;

tendra que ver en algo el setCharacterEncoding('ISO-8859-1'); ????
__________________
Quitenme la vida pero no la bebida.
  #2 (permalink)  
Antiguo 15/06/2009, 11:40
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: email con xajax 2 parte

Para enviar un correo en formato HTML con PHPMailer() debes usar el método MsgHTML().

Ejemplo (obtenido de la web oficial)

Código PHP:
require_once '../class.phpmailer.php';

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch

try {
  
$mail->AddReplyTo('[email protected]''First Last');
  
$mail->AddAddress('[email protected]''John Doe');
  
$mail->SetFrom('[email protected]''First Last');
  
$mail->AddReplyTo('[email protected]''First Last');
  
$mail->Subject 'PHPMailer Test Subject via mail(), advanced';
  
$mail->AltBody 'To view the message, please use an HTML compatible email viewer!'// optional - MsgHTML will create an alternate automatically
  
$mail->MsgHTML(file_get_contents('contents.html'));
  
$mail->AddAttachment('images/phpmailer.gif');      // attachment
  
$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  
$mail->Send();
  echo 
"Message Sent OK\n";
} catch (
phpmailerException $e) {
  echo 
$e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo 
$e->getMessage(); //Boring error messages from anything else!

  #3 (permalink)  
Antiguo 15/06/2009, 11:49
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: email con xajax 2 parte

mmmm estuve probando con la version Version 1.02 ... tendre que subir porque no esta esa funcion en mi clase
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 15/06/2009, 11:53
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: email con xajax 2 parte

Ok, parece que van por la version 5 en PHPMailer().

Suerte!
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 22:30.