Páginas

sábado, 14 de julio de 2012

CrugeMailer una extensión para enviar correos electrónicos con YiiFramework

Buenas esta entrada es para presentar la librería CrugeMailer, es una librería para enviar correos electrónicos con YiiFramework, simple de configurar, simple de usar implemeta la librería Swiftmailer para enviar correos electrónicos con php.

¿Como la usamos?

Clonamos la librería en la carpeta extensions de nuestra aplicación "pathapplication/protected/extensions"

cd /pathapp/protected/extensions/
git clone https://github.com/carlosbelisario/crugemailer

Necesitamos también la librería swiftmailer para esto realizamos los siguiente

git submodule init
git submodule update

Una vez tenemos la librería instalada la librería tenemos que hacer la configuración en el main


'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.extensions.crugemailer.*',        
),

'component' => array(
/*...*/
    'crugemailer'=>array(
         'class' => 'application.extensions.crugemailer.CrugeSwiftMailer',
         'mailfrom' => 'christiansalazarh@gmail.com',
         'transport' => 'gmail' // gmail para usar el stmp de gmail (recomendado), no especificarlo trabajara la librería con la función mail de php
         /**
         *
         * obligatorios si el transporte es gmail
         */
         'gmailAcount' => 'carlos.belisario.gonzalez@gmail.com',
         'gmailPassword' => 'password de gmail',       
         'subjectprefix' => 'Prefijo que deseas agregar, es opcional - ',
    ),
);
Luego de tenerla configurada simplemente cuando necesitemos mandar un mail lo que debemos hacer es lo siguiente


Yii::app()->crugemailer->sendEmail('el cuerpo de lo que va a ser enviado en el mensaje',
    /*destinatario del mensaje*/array('carlos.belisario.gonzalez@gmail.com'),
    array('contac@midominio.com'),/*opcional puede configurarse en 
        el application/config/main*/ 
    'Asunto del Correo Electrónico'/*opcional*/);


Y ya estamos enviando correos electrónicos desde YiiFramework con la librería swiftmailer

Espero que la librería les sea útil, esta todavía en desarrollo para mas funcionalidades pero actualmente ya envia los correos, saludos

3 comentarios:

  1. Actualizada la extensión hace poco para que se pueda adjuntar archivos y enviar html por defecto pueden verlo https://github.com/carlosbelisario/crugemailer/blob/master/CrugeSwiftMailer.php

    ResponderEliminar
  2. Hola implmentando tu extencion de crugemailer me surgen unas dudas .... me gustaria que me orientaras si es posible..

    uso CRUGE como control de acceso, viene con cruge, implmento tu version de crugemail, por el metodo de envio y mas que veo que le colocastes el adjunto.

    sigo tu guia de https://github.com/carlosbelisario/crugemailer

    pero a la hora de almenos probar a ver si conecta al server.. me sale este error..

    Fatal error: Declaration of CrugeSwiftMailer::sendEmail() must be compatible with that of ICrugeMailer::sendEmail() in C:\wamp\www\lone\protected\extensions\crugemailer\CrugeSwiftMailer.php on line 9

    ??? debo borrar el crugemailer del modulo cruge de acceso...

    tu extencion no se puede ussar con cruge =?

    GRacias por la ayuda

    ResponderEliminar
  3. si el problema es que hay conflicto entre nombres, porque?? el autoload de Yii carga crugeMailer oficial por llamarlo así que es el que implementa la librería, yo lo estaba trabajando un poco en un repo nuevo como YiiSwiftMailer ya que es una implementación de la librería switmailer en Yii, pero no lo he probado ya que me ha salido un poco de trabajo, de aquí al fin de semana voy a ver si realizo una actualización que funcione y que este probada como debe de ser

    ResponderEliminar