This package is an adapter for yiisoft/mailer relying on symfony/mailer.
- PHP 8.1 or higher.
The package could be installed with Composer:
composer require yiisoft/mailer-symfony
Creating a mailer:
use Yiisoft\Mailer\MessageBodyRenderer;
use Yiisoft\Mailer\MessageBodyTemplate;
use Yiisoft\Mailer\MessageFactory;
use Yiisoft\Mailer\Symfony\Mailer;
use Yiisoft\Mailer\Symfony\Message;
/**
* @var \Psr\EventDispatcher\EventDispatcherInterface $dispatcher
* @var \Symfony\Component\Mailer\Transport\TransportInterface $transport
* @var \Yiisoft\View\View $view
*/
$template = new MessageBodyTemplate('/path/to/directory/of/view-files');
$mailer = new Mailer(
new MessageFactory(Message::class),
new MessageBodyRenderer($view, $template),
$dispatcher,
$transport,
);
Sending a mail message:
$message = $mailer
->compose()
->withFrom('from@domain.com')
->withTo('to@domain.com')
->withSubject('Message subject')
->withTextBody('Plain text content')
->withHtmlBody('<b>HTML content</b>')
;
$mailer->send($message);
// Or several
$mailer->sendMultiple([$message]);
Additional methods of the Yiisoft\Mailer\Symfony\Mailer
:
withEncryptor()
- Returns a new instance with the specified encryptor instance.withSigner()
- Returns a new instance with the specified signer instance.
For more information about signing and encrypting messages, see the corresponding section of the documentation.
The Yiisoft\Mailer\Symfony\Message
class provides a single getSymfonyEmail()
method that returns
a Symfony Email instance.
For use in the Yii framework, see the configuration files:
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.
The Yii Mailer Library - Symfony Mailer Extension is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.