-
Notifications
You must be signed in to change notification settings - Fork 0
CI SWIFT MAILER
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.
[h2]RESOURCES:[/h2]
=> [url=http://www.codeigniter.com/forums/viewthread/3049/]FORUM[/url]
=> official [url=http://www.swiftmailer.org/]SWIFT MAILER WEBSITE[/url]
=> [url=http://www.4webby.com/freakauth/]4webby.com[/url] for tutorials
[b]Author: Daniel Vecchiato (danfreak) website: [url=http://www.4webby.com/freakauth/]http://www.4webby.com[/url] The original Swift Mailer package has been released by Chris Corbyn [url=http://www.swiftmailer.org/]http://www.swiftmailer.org/[/url][/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 [url=http://www.swiftmailer.org/]SWIFT MAILER website[/url] (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 [b]my_classes[/b] in your [b]system/application[/b] directory [/h3]
[h3] 4) copy the files [b]INSIDE[/b] the folder [b]Swift-X.0.X-phpX/lib/[/b] in your [b]system/application/my_classes/ [/b]directory [/h3]
[h3] 5) enable hooks in your [b]application/config/config.php[/b] file [/h3] [code]
/* |
---|
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; [/code]
[h3] 6) add the following lines in [b]application/config/config.php[/b] [/h3] [code] $hook['pre_controller'][] = array( 'class' => 'MyClasses', 'function' => 'index', 'filename' => 'MyClasses.php', 'filepath' => 'hooks' ); [/code]
[h3] 7) in your [b]system/application/hooks/[/b] create a new file called [b]MyClasses.php[/b] with the following inside [/h3]
[code] <?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
ini_set('include_path', ini_get('include_path').';'.BASEPATH.'application/my_classes/');
}
}
?> [/code]
[h3] 8) build a controller to test that every works fine ([url=http://www.swiftmailer.org/wikidocs/v3/basic]example taken here[/url]) [/h3]
[code] <?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";
}
}
?> [/code]
[h3] 9) now build other controllers/methods to suit your needs. Check out the [url=http://www.swiftmailer.org/wikidocs/]SWIFT MAILER DOCUMENTATION[/url] [/h3]
[b]IMPORTANT NOTICE: [/b] use the examples in the documentation, but change [code] //Load in the files we'll need require_once "lib/Swift.php"; require_once "lib/Swift/Connection/SMTP.php"; [/code]
to
[code] //Load in the files we'll need require_once "Swift.php"; require_once "Swift/Connection/SMTP.php"; [/code]
[h3] 10) HAPPY CODING! [/h3]