stayallive/laravel-mail-css-inliner

将Laravel HTML邮件的CSS内联。

v4.4.0 2024-04-18 09:50 UTC

This package is auto-updated.

Last update: 2024-09-18 10:38:29 UTC


README

Latest Version Software License Build Status Total Downloads

为什么?

大多数电子邮件客户端不会渲染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)。有关更多信息,请参阅许可证文件