Hola kobety,
Te respondo lo que creo que te puede ayudar:
Cita:
Iniciado por kobety
Código PHP:
Ver original<?PHP
// primero hay que incluir la clase phpmailer para poder instanciar
//un objeto de la misma
require "includes/class.phpmailer.php";
//instanciamos un objeto de la clase phpmailer al que llamamos
//por ejemplo mail
$mail = new phpmailer();
//Definimos las propiedades y llamamos a los métodos
//correspondientes del objeto mail
//Con PluginDir le indicamos a la clase phpmailer donde se
//encuentra la clase smtp que como he comentado al principio de
//este ejemplo va a estar en el subdirectorio includes
$mail->PluginDir = "includes/";
Yo esto no lo pondría, creo que es lo que te afecta a los acentos, a mi, sin esto, me funciona perfectamente.
Cita:
Iniciado por kobety
Código PHP:
Ver original//Para acentos.
$mail*>CharSet = "UTF*8";
$mail*>Encoding = "quoted*printable";
Cita:
Iniciado por kobety
Código PHP:
Ver original//Con la propiedad Mailer le indicamos que vamos a usar un
//servidor smtp
$mail->Mailer = "smtp";
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = "smtp.dominio.es";
Según tengo entendido, en host, lo que se debe poner es "localhost", si lo envías desde un hosting compartido, o en todo caso, en el soporte del hosting deben decirte qué colocar ahí, yo he probado como lo colocas tú y me tira error 500, por eso te lo digo.
Cita:
Iniciado por kobety
Código PHP:
Ver original//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//Le decimos cual es nuestro nombre de usuario y password
$mail->Password = "contraseña";
//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->FromName = "nombre";
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar
//una cuenta gratuita, por tanto lo pongo a 30
$mail->Timeout=30;
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("a quien va "); //una vez me funcione esto ya me preocuparé para que aquí se meta una cadena...
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->Subject = "Prueba de phpmailer";
$mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";
//Definimos AltBody por si el destinatario del correo no admite email con formato html
$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
//se envia el mensaje, si no ha habido problemas
//la variable $exito tendra el valor true
$exito = $mail->Send();
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
$intentos=1;
while ((!$exito) && ($intentos < 5)) {
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br/>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
?>
Muchas Gracias!!!!
Por lo que comentas, creo que el problema puede estar en que lo intentas enviar desde tu máquina y no tengas un servidor SMTP instalado, tal como te decía
abimaelrc
Espero que te haya servido de ayuda.
.