janisto / yii-mailer
Yii Component for Swift Mailer
Installs: 123 940
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 1
Open Issues: 0
Requires
- php: >=5.1.0
- swiftmailer/swiftmailer: >=5.0.0
This package is not auto-updated.
Last update: 2024-10-07 16:25:20 UTC
README
Yii Component for Swift Mailer
Requirements
- Yii 1.1.14 or above
- Composer
Installation
- Require the package.
{ "name": "app-name", "description": "App description", "type": "project", "prefer-stable": true, "require": { "php": ">=5.3.0", "yiisoft/yii": "1.1.14", "janisto/yii-mailer": "1.0.0" } }
- Include Composer autoloader before Yii in your entry script (index.php and/or yiic.php for console scripts).
// Composer autoload $composerAutoload = dirname(__FILE__) . '/../vendor/autoload.php'; require_once($composerAutoload); ...
- Add vendor path to your configuration file, attach component and set properties.
'aliases'=>array( 'vendor' => realpath(__DIR__ . '/../../vendor'), ), 'components' => array( ... 'mailer' => array( 'class' => 'vendor.janisto.yii-mailer.SwiftMailerComponent', 'type' => 'smtp', 'host' => 'email-smtp.us-east-1.amazonaws.com', 'port' => 587, 'username' => 'xxx', 'password' => 'yyy', 'security' => 'tls', 'throttle' => 5*60, ), ... ),
Usage
$message = Yii::app()->mailer ->createMessage('Your subject', 'Here is the message itself') ->setFrom(array('from@domain.com' => 'From Name')) ->setTo(array('to@domain.com' => 'To Name')); Yii::app()->mailer->send($message);
or
$failures = array(); $sent = 0; $from = array('from@domain.com' => 'From Name'); $emails = array( array('to@domain.com' => 'To Name'), array('receiver@bad-domain.org' => 'To Name'), array('other-receiver@bad-domain.org' => 'To Name'), ); /* @var Swift_Message $message */ $message = Yii::app()->mailer ->createMessage('Your subject') ->setFrom($from) ->setBody('Here is the message itself') ->addPart('<q>Here is the message itself</q>', 'text/html'); foreach ($emails as $to) { $message->setTo($to); try { $sent += Yii::app()->mailer->send($message, $failures); } catch (Exception $e) { // SMTP server not responding or limit exceeded? echo $e->getMessage(); } } echo "$sent emails sent.\n"; echo "Failures:\n"; print_r($failures);
Changelog
v1.0.0
- Initial version.
License
yii-mailer is free and unencumbered public domain software.