定制 lanin/laravel-email-templates-optimization 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lanin/laravel-email-templates-optimization

Composer 安装命令:

composer require lanin/laravel-email-templates-optimization

包简介

Optimize your email templates' styles via native Laravel templating mechanism.

README 文档

README

Optimize your email templates' styles via native Laravel templating mechanism.

Build Status Code Coverage Scrutinizer Code Quality

If you want to send an HTML email you can't just send it with <style></style> tag in it, or link a stylesheet. Most of the email clients will cut it and clients will see your email without any styles.

The only approach to achieve best email quality is to convert all your styles int inline style="" attributes like this:

Source

<!DOCTYPE html>
<html>
<head>
  <title>Hello World</title>
  <style>
    body {
      font-size: 14px;
    }
    h1 {
      font-size: 20px;
    }
    a {
      color: #333;
    }
  </style>
</head>
<body>
  <h1>Hello!</h1>
  <p class="content">
    <a href="https://laravel.com">Laravel</a>
  </p>
</body>
</html>

Result

<!DOCTYPE html>
<html>
<head>
  <title>Hello World</title>
</head>
<body style="font-size: 14px;">
  <h1 style="font-size: 20px;">Hello!</h1>
  <p class="content">
    <a href="https://laravel.com" style="color: #333;">Laravel</a>
  </p>
</body>
</html>

How to achieve that?

  • You can precompile your templates, and store and send them as is. But your compiled templates will become too hard to maintain.
  • Or you can compile them on every email send like in https://github.com/fedeisas/laravel-mail-css-inliner package. But it will cause an enormous overhead.

With this in mind I made this engine. It compiles css into email templates and at the same time utilises native Laravel's Blade syntax and compile-and-cache approach.

This means that you can store your email templates as before and they will be compiled on the fly and then cached in order not to recompile every time!

Installation

PHP 5.5.9+ or HHVM 3.3+, Composer and Laravel 5.1+ are required.

To get the latest version of Laravel-Email-Templates-Optimization, simply install it via composer.

$ composer require "lanin/laravel-email-templates-optimization:0.1.*"

Once package is installed, you need to register the service provider. Open up config/app.php and add the following to the providers key.

Lanin\Laravel\EmailTemplatesOptimization\ServiceProvider::class,

Usage

What you have to do is just rename your email templates' files from *.blade.php to *.email.php and that's it! This Engine will do the rest for you!

Configuration

Furthermore you can tell the engine what static css files to use with your templates to not duplicate them in each of them.

For this you set copy this into your view.php config:

    'emails' => [
        /*
        |--------------------------------------------------------------------------
        | Css Files
        |--------------------------------------------------------------------------
        |
        | List of absolute paths to static css files to use in your email templates.
        |
        | Example: realpath(resource_path('assets/css/emails.css'))
        |
        */
        'css_files' => [
        
        ],
    ],

Contributing

Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.

统计信息

  • 总下载量: 5.5k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固