stayallive / laravel-mail-css-inliner
将Laravel HTML邮件的CSS内联。
v4.4.0
2024-04-18 09:50 UTC
Requires
- php: ^8.0.2
- ext-dom: *
- laravel/framework: ^9||^10||^11.0
- tijsverkoyen/css-to-inline-styles: ^2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- phpunit/phpunit: ^9||^10
- symfony/mailer: ^6.0||^7.0
README
为什么?
大多数电子邮件客户端不会渲染CSS(在<link>
或<style>
上)。解决方案是在HTML上直接内联CSS。手动这样做很容易变成难以维护的模板。此包的目标是在发送邮件之前自动内联CSS。
如何?
使用一个很棒的 CSS内联包,它被SwiftMailer插件包装并作为服务提供商提供,无需任何配置即可正常工作。由于这是一个SwiftMailer插件,它将在解析电子邮件模板时自动内联CSS。您无需做任何事情!
将样式标签
<html> <head> <style> h1 { font-size: 24px; color: #000; } </style> </head> <body> <h1>Hey you</h1> </body> </html>
或链接标签
<html> <head> <link rel="stylesheet" type="text/css" href="./tests/css/test.css"> </head> <body> <h1>Hey you</h1> </body> </html>
转换为这个
<html> <head> <style> h1 { font-size: 24px; color: #000; } </style> </head> <body> <h1 style="font-size: 24px; color: #000;">Hey you</h1> </body> </html>
安装
此包需要至少Laravel 9
和PHP 8
。
首先,通过composer安装此包。通过CLI直接要求获取最新稳定版本
composer require stayallive/laravel-mail-css-inliner
此时,内联器应该已经使用默认选项开始工作。如果您想调整这些选项,可以通过发布配置文件来做到这一点
$ php artisan vendor:publish --provider='Stayallive\LaravelMailCssInliner\ServiceProvider'
并更改生成的config/mail-css-inliner.php
文件上的设置。
测试
composer test
发现了一个错误?
请告诉我!发送一个pull request或补丁。有问题吗?问!我会对所有报告的问题做出回应。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何与安全相关的问题,请通过电子邮件me@alexbouma.me联系,而不是使用问题跟踪器。
致谢
这是从fedeisas/laravel-mail-css-inliner派生的。
派生包深受启发,并大部分复制自SwiftMailer CSS Inliner。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。