PHPMailer es una clase escrita en PHP que facilita el envío de correo, añadiendo facilidad en el envío de correos con adjuntos, en formato HTML y con diferentes codificaciones, soporte para imagenes embebidas, headers personalizados y además funciona con múltiples servidores de correo.
El primer paso es descargar PHPMailer, aquí encontraremos dos archivos: class.phpmailer.php el cual contiene las funciones para el envío de correo y class.smtp.php para enviar correo mediante servidores SMTP.
yo lo he utilizado con mi cuenta de yahoo y su servidor smtp y funciona sin ningun problema.
Aqui les dejo el ejemplo que hice:
//en el directorio includes deberan estar class.phpmailer.php y class.smtp.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
$mail = new phpmailer();
//Con PluginDir le indicamos a la clase phpmailer donde seencuentra la clase smtp
$mail->PluginDir = "includes/";
//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.mail.yahoo.com";
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;
//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "cuenta@yahoo.com.mx";
$mail->Password = "password";
//Indicamos cual es nuestra dirección de correo y el nombre que queremos que vea el usuario que lee nuestro correo
$mail->From = "cuenta@yahoo.com.mx";
$mail->FromName = "Nombre a mostrar p/e Pedrito Andrade";
//el valor por defecto 10 de Timeout lo cambiamos por 30
$mail->Timeout=30;
//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("cuenta@destino.com");
//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo
//que se vea en negrita
$mail->Subject = "Probando phpmailer";
$mail->Body = "Mensaje de prueba mandado con phpmailer en formato html";
//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)) {
sleep(5);
$exito = $mail->Send();
$intentos=$intentos+1;
}//while
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "
".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
?>
No hay comentarios.:
Publicar un comentario