Re: Clase de envío de correos
[email protected] (Carlos Medina)
| Newsgroups | php.general.es |
|---|---|
| Organization | SimplyNetworks |
| Message-ID | <[email protected]> |
Am 26.05.2010 10:25, schrieb Gorka: > > Trato de usar la clase del php para envio de correo, ya que crea > correctamente los headers del evitando que el correo mal formado sea > clasificado como SPAM. Todo era muy bonito al principio, ... pero resulta > que en el cuerpo del email me sale el código HTML tal que asÃ: > > <font face='Arial' color='#365375'><br>Estimado (...) > > ¿Cómo puedo evitarlo? > > > > La llamada a la función es la siguiente: > > enviar_correo($emailm , $asunto, $cuerpomensaje, > '[email protected]'); > > Y la función y la clase de php son: > > class correo > { > var $destinatario; > var $remitente; > var $asunto; > var $mensaje; > > function enviar() > { > $headers = "From: ".$this->remitente."\nReply-To: ". > $this->remitente; > ob_start(); > $message = ob_get_clean(); > $mail_sent = @mail( $this->destinatario, $this->asunto, > $this->mensaje, $headers ); > echo $destinatario; > echo $mail_sent ? "Correo Enviado" : "No se ha podido enviar > el correo"; > } > } > > > function enviar_correo($to, $subject, $message, $from) > { > $email_txt = $message; // Message that the email has in it > $encoded_subject = "=?$charset?B?".base64_encode($subject)."?=\n"; > > $headers = "From: ".$from; > $msg_txt=" "; > $semi_rand = md5(time()); > $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; > $headers .= "\nMIME-Version: 1.0\n" . > "Content-Type: multipart/mixed;\n" . > " boundary=\"{$mime_boundary}\""; > $email_txt .= $msg_txt; > $email_message .= "This is a multi-part message in MIME format.\n\n" > . > "--{$mime_boundary}\n" . > "Content-Type:text/html; charset=\"iso-8859-1\"\n" . > "Content-Transfer-Encoding: 7bit\n\n" . > $email_txt . "\n\n"; > > //$ok = @mail($email_to, $email_subject, $email_message, $headers, > '-f'.$from); > > $g = new correo(); > $g->destinatario = $to; > $g->remitente = $from; > $g->asunto = $encoded_subject; > $g->mensaje = $email_txt; > $g->enviar(); > } > > > > Hola, segun lo que puedo ver, envÃas en el mensaje formateado con HTML. Me imagino que debes eliminar los formatos de maqueta HTML antes de enviar el email. No te parece? Sludos Carlos