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.