Skip to content

timophey/kohana-phpmailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kohana Email module

Factory-based email class. This class is a simple wrapper around PHPMailer.

How to install

clone with --recursive option

Put all files into modules/email directory and enable module in bootstrap.php:

Kohana::modules(array(
	...
	'email' => MODPATH.'email',
	...
));

Then copy MODPATH/email/config/email.php to APPPATH/config/email.php. Well done!

Using

Simple use case::

$email_subject = 'Hi there!';
$email_body = 'Hi, guys! This is my awesome email.';
$is_html = false;
$message = Email::factory($email_subject, $email_body, $is_html)
	->from('sender@example.com')
	->to('first.recipient@example.com')
	->to('second.recipient@example.com', 'Mr. Recipient', 'CC')
	->to(array(
		'fifth.recipient@example.com',
		'sixth.recipient@example.com'
		)
	)
	->to(array(
		'seventh@example.com'=>'Mr. Recipient',
		'eighth@example.com'=>'Mr. Recipient'
		))
	->attach_file('/path/to/filename.ext','filename_to_send.ext');
$result = $message->send();
if($result) Session::instance()->set('message','Email sent successfully');

or like this

$email_body = '<p>This is <em>my</em> body, it is <strong>nice</strong>.</p>';
$message = Email::factory('Hi there!', $email_body, true);
$message->from('sender@example.com');
$message->to('first.recipient@example.com');
$message->send();

Additional senders can be added using the from() and reply_to() methods. If multiple sender addresses are specified, you need to set the actual sender of the message using the sender() method. Set the bounce recipient by using the return_path() method.

To access and modify the PHPMailer message directly, use the mailer() method.

For advanced using, read classes/Kohana/Email.php - class is self-documented

Configuration

return array(
	'driver' => 'native', // native, sendmail, smtp
	/*
	 * Driver options:
	 * @param   null    native: no options
	 * @param   string  sendmail: executable path, with -bs or equivalent attached
	 * @param   array   smtp: hostname, (username), (password), (port), (encryption), (debug) 0-4 ,function($str, $level)(debug_output)
	 */
	'options' => array(),
	'from' => array('noreply@example.com','Example noreply mailer'),
	'charset' => 'UTF-8' // charset
);

Configuration is stored in config/email.php by default. Options are dependant upon transport method used. Consult PHPMailer documentation for options available to each transport.

Enjoy!

About

PHPMailer driver for kohana

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages