RE: [PHP-ES] Clase de envío de correos
[email protected] ("Gorka")
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <002701cafe65$a8ea4d80$fabee880$@es> |
> -----Mensaje original----- > De: Gorka [mailto:[email protected]] > Enviado el: miércoles, 26 de mayo de 2010 10:26 > Para: 'PHP CA' > Asunto: [PHP-ES] Clase de envío de correos > > > 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(); > } > > ¿Ninguna idea?