yiisoft / mailer-view
This package is abandoned and no longer maintained.
No replacement package was suggested.
Yii Mailer message body rendering extension
dev-master
2024-10-18 07:28 UTC
Requires
- php: ^8.1
- yiisoft/mailer: dev-master
- yiisoft/view: ^11.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.7
- phpunit/phpunit: ^10.5
- rector/rector: ^1.2
- roave/infection-static-analysis-plugin: ^1.34
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.20
- yiisoft/aliases: ^3.0
- yiisoft/di: ^1.3
This package is auto-updated.
Last update: 2024-11-18 07:38:34 UTC
README
Yii Mailer View
This Yii Mailer extension provides classes for composing message body via view rendering:
MessageBodyRenderer- a view renderer used to compose message body.ViewMailer- a mailer decorator withcompose()method.
Requirements
- PHP 8.1 or higher.
Installation
The package could be installed with Composer:
composer require yiisoft/mailer-view
General usage
Message body renderer
use Yiisoft\Mailer\View\MessageBodyRenderer; use Yiisoft\Mailer\View\MessageBodyTemplate; use Yiisoft\View\View; $renderer = new MessageBodyRenderer( new View(), new MessageBodyTemplate( __DIR__ . '/views', 'html-layout', ), ); // HTML body $htmlBody = $renderer->renderHtml( view: 'html-content', viewParameters: ['count' => 42], layoutParameters: ['header' => 'Hello!'], ); // Text body $textBody = $renderer->renderText( view: 'html-content', viewParameters: ['count' => 42], layoutParameters: ['header' => 'Hello!'], ); // Add body to message $message = $renderer->addBodyToMessage( message: new Message(), htmlView: 'html-content', viewParameters: ['count' => 42], layoutParameters: ['header' => 'Hello!'], );
If needed, you can pass textView parameter with the name of the text view.
Mailer decorator
/** * @var \Yiisoft\Mailer\MailerInterface $mailer * @var Yiisoft\Mailer\View\MessageBodyRenderer $messageBodyRenderer */ $viewMailer = new ViewMailer($mailer, $messageBodyRenderer); // Create message $message = $viewMailer->compose( htmlView: 'html-content', viewParameters: ['count' => 42], layoutParameters: ['header' => 'Hello!'], ); // Send message $viewMailer->send($message);
If needed, you can pass textView parameter with the name of the text view.
Documentation
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
License
The Yii Mailer View is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.