Configurar PHPMailer con smtp, mail o sendmail

PHPMailer es una Clase para realizar envios de correos desde cualquier plataforma, esta clase te permite enviar uno o varios correos utilizando pocas lineas de código, usando el metodo de envio por SMTP, la función mail de PHP, o Sendmail, además de enviar mensajes de texto y HTML.
Si deseas crear aplicaciones que realizan envios masivos y deseas que esos envios no vayan a la carpeta de span, pues PHPMailer es la clase que necesitas, muchos sistemas de envios masivos estan realizados con esta clase.

Aquí les dejo un ejemplo simple, para esto primero tienen que bajarse desde aquí Descargar PHPMailer o visitar su Página principal PHPmailer, una ves hecho esto crean un archivo, y pegan el siguiente código, claro reemplazando los datos verdaderos de dominio, correo y contraseña.

PHPMailer con método SMTP

<?php
require '../class.phpmailer.php';
try {
	$mail = new PHPMailer(true); //Nueva instancia, con las excepciones habilitadas
	$body             = '<p>Este es un Mensaje de Prueba</p>';
	$body             = preg_replace('/\\\\/','', $body); //Escapar backslashes
	$mail->IsSMTP();                           // Usamos el metodo SMTP de la clase PHPMailer
	$mail->SMTPAuth   = true;                  // habilitado SMTP autentificación
	$mail->Port       = 25;                    // puerto del server SMTP
	$mail->Host       = "mail.midominio.com"; // SMTP server
	$mail->Username   = "[email protected]";     // SMTP server Usuario
	$mail->Password   = "xxxxxx";            // SMTP server password
	$mail->From       = "[email protected]"; //Remitente de Correo
	$mail->FromName   = "Name"; //Nombre del remitente
	$to = "[email protected]"; //Para quien se le va enviar
	$mail->AddAddress($to);
	$mail->Subject  = "Mi primer mensaje con PhpMailer"; //Asunto del correo
	$mail->MsgHTML($body);
	$mail->IsHTML(true); // Enviar como HTML
	$mail->Send();//Enviar
	echo 'El Mensaje a sido enviado.';
} catch (phpmailerException $e) {
	echo $e->errorMessage();//Mensaje de error si se produciera.
}
?>

PHPMailer con método MAIL

<?php
require '../class.phpmailer.php';
try {
	$mail = new PHPMailer(true); //Nueva instancia, con las excepciones habilitadas
	$body             = '<p>Este es un Mensaje de Prueba</p>';
	$body             = preg_replace('/\\\\/','', $body); //Escapar backslashes
	$mail->IsMail();                           // Usamos el metodo SMTP de la clase PHPMailer
	$mail->SMTPAuth   = false;                  // habilitado SMTP autentificación
	$mail->Port       = 25;                    // puerto del server SMTP
	$mail->Host       = "mail.midominio.com"; // SMTP server
	$mail->From       = "[email protected]"; //Remitente de Correo
	$mail->FromName   = "Name"; //Nombre del remitente
	$to = "[email protected]"; //Para quien se le va enviar
	$mail->AddAddress($to);
	$mail->Subject  = "Mi primer mensaje con PhpMailer"; //Asunto del correo
	$mail->MsgHTML($body);
	$mail->IsHTML(true); // Enviar como HTML
	$mail->Send();//Enviar
	echo 'El Mensaje a sido enviado.';
} catch (phpmailerException $e) {
	echo $e->errorMessage();//Mensaje de error si se produciera.
}
?>

Configurar phpmailer metodo smtp

Documentación de PHPMailer

Puedes saltar al final y dejar una respuesta. Hacer ping no está permitido actualmente.

11 Respuesta to “Configurar PHPMailer con smtp, mail o sendmail”

  1. clr dice:

    los archivos que se descomprimieron de PHPMailer donde se guardan?

  2. Luiyiana dice:

    Hice lo indicado pero me sale el siguiente error y no se que puede ser
    SMTP Error: Could not connect to SMTP host.

  3. eduardo dice:

    mi estimado esto es lo que andaba buscando mil gracias

  4. leonardo dice:

    Amigo esto esta todo ok pero en caso de que no quiera utilizar

    $mail->SMTPAuth = true; // habilitado SMTP autentificación
    $mail->Port = 25; // puerto del server SMTP
    $mail->Host = “mail.midominio.com”; // SMTP server
    $mail->Username = “[email protected]”; // SMTP server Usuario
    $mail->Password = “xxxxxx”;

    cómo sería, es decir para enviarlo entiendo que exciste una opción qu ees mail no? me gustaría saber.

    • admin dice:

      Pues solo usarías:
      $mail->IsMail();
      $mail->SMTPAuth = false; // habilitado SMTP autentificación
      $mail->Port = 25; // puerto del server SMTP
      $mail->Host = “mail.midominio.com”; // SMTP server

  5. Perdón ese era otro ejemplo que tampoco funciona:

    Estos son los mensajes de error que me salen:

    ( ! ) Warning: require(../class.phpmailer.php): failed to open stream: No such file or directory in
     C:wamp64www- Enviar_con_phpmailerenvio_ce_via_SMTP_desarrollowebtutorial.php on line 7
    Call Stack
    #	Time	Memory	Function	Location
    1	0.0008	242648	{main}( )	...envio_ce_via_SMTP_desarrollowebtutorial.php:0
     
    ( ! ) Fatal error: require(): Failed opening required '../class.phpmailer.php' (include_path='.;C:phppear') in 
    C:wamp64www- Enviar_con_phpmailerenvio_ce_via_SMTP_desarrollowebtutorial.php on line 7
    Call Stack
    #	Time	Memory	Function	Location
    1	0.0008	242648	{main}( )	...envio_ce_via_SMTP_desarrollowebtutorial.php:0

    El archivo “envio_ce_via_SMTP_desarrollowebtutorial.php” se encuentra en la misma carpeta que en la que se encuentra la carpeta “phpmailer” y sucede lo mismo si lo pongo dentro de la misma carpeta “phpmailer”

    Espero me puedan ayudar

    Gracias !!!

    • Guillermo dice:

      La respuesta esta en los mensajes de error ( ! ) Warning: require(../class.phpmailer.php): failed to open stream No lo encuentra, lee la documentación require
      La estructura de carpeta del ejemplo es:
      PHPMailer/class.phpmailer.php
      PHPMailer/test/ejemplo.php

Deja un comentario