vgonga, gracias por responder.
No, tu propuesta no me ha funcionado.
He hecho otros cambios y no he solucionado nada. Ahora el código es este:
Código PHP:
Ver original<?php
require("class.phpmailer.php");
$texto = "Esta sugerencia la hace un ".$categoria."\n\r"." Su sugerencia es ".$sugerencia."\n\r"." Su dirección de correo es ".$correo;
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "CORREO"; // specify main and backup server
$mail->SMTPAuth = false; // turn on SMTP authentication
$mail->FromName = "WEB";
$mail->WordWrap = 50; // set word wrap to 50 characters $mail->IsHTML(true); // set email format to HTML
$mail->Subject = "Sugerencia Medioambiental";
$mail->Body = $texto;
if(!$mail->Send())
{
echo "El mensaje no pudo ser enviado. <p>";
echo "Error: " . $mail->ErrorInfo;
}
echo "Mensaje enviado correctamente";
?>
</
Como véis dejo de crear la cadena del cuerpo dentro de $mail->Body y la creo fuera, luego sólo se la paso. Y nada.
También he probado a pasar un texto sin más, nada de concatenaciones ni gaitas, y en cuanto tiene un punto en la cadena el envío no se realiza pero tampoco da error alguno.
He probado con caracteres especiales y pasan todos los probados. Eso sí, las tíldes no pasan pero el mensaje sí se envía. Por ejemplo recibo correos con este texto:
Esta sugerencia
!•$%&/()=@# la hace un Directivo Su sugerencia es Prueba nueva Su
dirección de correo es
Como se vé me llegan bien los caracteres especiales y no la tílde.
¿Alguno sabe a qué se puede deber? Me preocupa enórmemente lo de la ausencia de envío por un simple punto, es que me parece tan normal lo de que tuviese que aceptar el punto que si no lo soluciono no podré poner en práctica este tema.