X
    Categories: CodeigniterPHP

Usar La libreria PHPMAILER en CODEIGNITER

Al poco tiempo que comence a usar codeigniter se me habia presentado la necesidad de usar la libreria phpmailer que ya es parte de nuestra tipica librerias preferidas a la hora de desarrollar un proyecto por lo bueno que llega a ser.

antes de comenzar debes ya tener la libreria phpmailer descargada y tener listo una instalado el codeigniter y nos vamos a la carpeta libraries que es el lugar donde debemos colocar la carpeta que nos da la libreria phpmailer y debe quedar asi.

ahora que lo tenemos instalado codeigniter nunca se enterara que existe si no le indicamos y para eso debemos ir a autoload.php que se encuentra en config

puedes tener cargada algunas librerias por defecto

$autoload['libraries']=array('template','session','database');

pero falta agregar la de phpmailer.

$autoload['libraries']=array('template','session','database','phpmailer');

hasta ahora vamos bien pero falta lo que a muchos confunde que es el amarre que se debe hacer en la carpeta libraries y creamos un archivo My_phpmailer.php con el siguiente codigo que en realidad creamos una libreria para codeigniter que dentro de la libreria hacemos un include de el core del phpmailer.

if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class My_PHPMailer {
    public function My_PHPMailer() {
        require_once('PHPMailer/class.phpmailer.php');
    }
}

si colocaste todo en su sitio no es necesario que modifiques la ruta que damos en el require_once y con esto ya podemos usar nuestra libreria en cualquier control por ejemplo:

 public function envio()
{
        $mail = new PHPMailer();
        $mail->SetLanguage('es');
        $mail->FromName = "luisrodriguez.pe";
        $mail->From = "no-reply@luisrodriguez.pe";
        $mail->Subject = "asunto del mensaje";
        $mail->AddAddress("luizmirodriguez@gmail.com");
        $mail->Body = "cuerpo de mensaje";
        $mail->IsHTML(true);
        $mail->Send();
}

espero que les ayude y cualquier duda en los comentarios de abajo.

Luis Rodriguez: Hola, Soy Luis Rodriguez, radico en Lima – Perú, formado en una carrera informática, desempeñando desde el 2007 como programador web y viendo proyectos desde Front End y Back End a lo que me perfile como Full Stack. Esta Experiencia junto a mi interés en la Analítica Web me ayudó mucho entender el funcionamiento interno de las herramientas de analítica, con las que vengo trabajo activamente desde 2017. Linkedin