shepherdmat / emaillabs-symfony-mailer
此扩展包提供了 Emaillabs 对 Symfony Mailer 的集成
v0.1.0
2021-11-07 11:17 UTC
Requires
- php: >=7.4
- symfony/mailer: ^4.4
Requires (Dev)
- ext-json: *
- phpunit/phpunit: 9.5.x-dev
- symfony/http-client: ^4.4|^5.0
This package is not auto-updated.
Last update: 2024-09-30 01:13:34 UTC
README
为 Emaillabs 提供 Symfony Mailer 集成。
安装
首选的安装方法是使用 [Composer][]。运行以下命令安装软件包并将其添加到项目的 composer.json
中
composer require shepherdmat/emaillabs-symfony-mailer
使用方法
Symfony 项目。
如果您想在标准的 Symfony 项目中使用它,很简单
向您的本地 .env 文件添加参数
# .env
MAILER_DSN=emaillabs://yourAppKey:yourSecretKey@yourActiveHostAccount.smtp
更新 services.yaml
# config/services.yaml services: Shepherdmat\Symfony\Mailer\Emaillabs\Transport\EmaillabsTransportFactory: tags: [ 'mailer.transport_factory' ]
现在您可以参考官方 Symfony Mailer 网站的示例。
独立邮件发送器。
如果您想使用标准的 SymfonyHttpClient 作为 http 接口发送邮件
// require_once __DIR__ . './vendor/autoload.php'; use Shepherdmat\Mailer\Emaillabs\Transport\EmaillabsApiTransport; use Shepherdmat\Mailer\Emaillabs\Transport\EmaillabsTransportFactory; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\Mailer\Transport\Dsn; use Symfony\Component\Mailer\Mailer; use Symfony\Component\Mime\Email; // Your active host account (https://panel.emaillabs.net.pl/pl/smtp). $host = 'YOUR_ACCOUNT.smtp'; // Your App Key (https://panel.emaillabs.net.pl/pl/site/api). $appKey = 'XXXXXXX'; // Your Secret Key (https://panel.emaillabs.net.pl/pl/site/api). $appSecret = 'YYYYYYY'; $transportFactory = new EmaillabsTransportFactory(null, HttpClient::create()); $dsn = new Dsn(EmaillabsTransportFactory::SCHEME, $host, $appKey, $appSecret); $mailer = new Mailer($transportFactory->create($dsn)); $message = (new Email()) ->from('foo@bar.dev') ->to('bar@foo.dev') ->subject('Message title') ->html('<b>HTML message content</b>') ->text('Text message content') // Attachments are handled by default. ->attachFromPath('./path/to/attachment') ->embedFromPath('./path/to/attachment', 'embed_tag'); // If you want to pass some api parameters, use dedicated headers. // (https://dev.emaillabs.io/#api-Send-new_sendmail) $message->getHeaders() // Comma-separated list of tags. ->addTextHeader(EmaillabsApiTransport::HEADER_TAGS, 'tag1,tag2,tag3') // Custom template ID. ->addTextHeader(EmaillabsApiTransport::HEADER_TEMPLATE, 'template_id') // Custom return path. ->addTextHeader(EmaillabsApiTransport::HEADER_RETURN_PATH, 'return_path'); $mailer->send($message);
许可证
此扩展包受 MIT 许可证的保护。
有关完整的版权信息,请参阅与此源代码一起分发的 LICENSE 文件。