CI SWIFT MAILER - bcit-ci/CodeIgniter GitHub Wiki
Well I wanted to call this library/plugin Freak_Swift_Mailer, but then... somebody killed my creativity...
Anyway, this is my solution for using SWIFT MAILER library with CI.
=> FORUM
=> official SWIFT MAILER WEBSITE
=> 4webby.com for tutorials
[b]Author: Daniel Vecchiato (danfreak) website: http://www.4webby.com The original Swift Mailer package has been released by Chris Corbyn http://www.swiftmailer.org/[/b]
- @license GNU Lesser General Public License
*/
[h2] REQUIREMENTS: [/h2]
- CodeIgniter 1.5.1/1.5.2
[h2]
INSTALLATION:
[/h2]
[h3]
- download SWIFT MAILER from SWIFT MAILER website (choose PHP4 or PHP5 version according to your needs) [/h3]
[h3] 2) unzip Swift-X.0.X-phpX.zip in a local folder [/h3]
[h3] 3) create a folder called my_classes in your system/application directory [/h3]
[h3] 4) copy the files INSIDE the folder Swift-X.0.X-phpX/lib/ in your **system/application/my_classes/ **directory [/h3]
[h3] 5) enable hooks in your application/config/config.php file [/h3]
/*
|--------------------------------------------------------------------------
| Enable/Disable System Hooks
|--------------------------------------------------------------------------
|
| If you would like to use the "hooks" feature you must enable it by
| setting this variable to TRUE (boolean).  See the user guide for details.
|
*/
$config['enable_hooks'] = TRUE;[h3] 6) add the following lines in application/config/hooks.php [/h3]
$hook['pre_controller'][] = array(
                                'class'    => 'MyClasses',
                                'function' => 'index',
                                'filename' => 'MyClasses.php',
                                'filepath' => 'hooks'
                                );[h3] 7) in your system/application/hooks/ create a new file called MyClasses.php with the following inside [/h3]
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Myclasses
{    
    /**
     * includes the directory application\my_classes\ in your includes directory
     *
     */
    function index()
    {
        //includes the directory application\my_classes\
       //for PHP/APACHE on windows platforms change the ':' before BASEPATH to ';'
        ini_set('include_path', ini_get('include_path').':'.BASEPATH.'application/my_classes/');
    }
}
?>[h3] 8) build a controller to test that every works fine (example taken here) [/h3]
<?php
class Mail extends Controller 
{
    function Mail()
    {
        parent::Controller();
        
    }
    
    function index()
    {
        //Load in the files we'll need
        require_once "Swift.php";
        require_once "Swift/Connection/SMTP.php";
         
        //Start Swift
        $swift =& new Swift(new Swift_Connection_SMTP("your.smtp.com"));
         
        //Create the message
        $message =& new Swift_Message("My subject", "My body");
         
        //Now check if Swift actually sends it
        if ($swift->send($message, "[email protected]", "[email protected]")) echo "Sent";
        else echo "Failed";
    }
}
?>[h3] 9) now build other controllers/methods to suit your needs. Check out the SWIFT MAILER DOCUMENTATION [/h3]
**IMPORTANT NOTICE: ** use the examples in the documentation, but change
//Load in the files we'll need
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";to
//Load in the files we'll need
require_once "Swift.php";
require_once "Swift/Connection/SMTP.php";[h3] 10) HAPPY CODING! [/h3]