定制 trt/swift-css-inliner-bundle 二次开发

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

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

trt/swift-css-inliner-bundle

最新稳定版本:v0.4

Composer 安装命令:

composer require trt/swift-css-inliner-bundle

包简介

A Swiftmailer plugin that provide css inline feature

README 文档

README

Latest Stable Version Build Status Scrutinizer Quality Score Total Downloads

When HTML emails are viewed in browser-based email apps (like YahooMail!, Gmail, Hotmail, etc), those applications strip out the HEAD and BODY tags by default, so the only way to style the content is to place inline the CSS within the style attribute. This is a dirty work for frontenders. This plugin provides exactly the CSS processing to fille the style attributes.

Ex. using the Zurb ink mail template Before After Plugin

#1. Installation

####Add the dependency within the composer.json

    "require": {
        "trt/swift-css-inliner-bundle": "~0.3"
    }

run php composer.phar install

####Enable the bundle (add the following line within the AppKernel.php)

$bundles = array(
    [...]
    new \Trt\SwiftCssInlinerBundle\TrtSwiftCssInlinerBundle(),
);

#2. Usage - Full Example

/**
 * @Route("/hello/{name}", name="_demo_hello")
 */
public function helloAction($name)
{
    $message = \Swift_Message::newInstance()
        ->setSubject('Hello Email')
        ->setFrom('send@example.com')
        ->setTo('recipient@example.com')
        ->setContentType('text/html')
        ->setBody("<style>.text{ color: red; }</style><p class='text'> $name </p>")
    ;
    $message->getHeaders()->addTextHeader(
        CssInlinerPlugin::CSS_HEADER_KEY_AUTODETECT
    );

    $this->get('mailer')->send($message);
}

#3. Usage - Step-by-step example

####1. Create the swiftmailer message.

$message = \Swift_Message::newInstance()
    ->setSubject('Hello Email')
    ->setFrom('send@example.com')
    ->setTo('recipient@example.com')
    ->setContentType('text/html')
    ->setBody('<style>.text{color:red;}</style>  <p class="text"> Hello </p>')
;

####2. AutoDetect the "style" Html tag

The auto detect mode will find css within the style tag

$message->getHeaders()->addTextHeader(
    CssInlinerPlugin::CSS_HEADER_KEY_AUTODETECT
);

Add your style explicit

ATTENTION

The explicit mode work only with the php IMAP extension installed @see http://www.php.net/manual/en/book.imap.php

$message->getHeaders()->addTextHeader(
    CssInlinerPlugin::CSS_HEADER_KEY, //The key that say to the plugin "Apply this CSS"
    ".text{ color: red; }"
);

Send the message.

$this->get('mailer')->send($message);

#4. Configuration options

No configuration is necessary.

It is possible to customize the behaviour of the CssToInlineStyles class. This shows the default options:

# app/config/config.yml
trt_swift_css_inliner:
    inliner_class: TijsVerkoyen\CssToInlineStyles\CssToInlineStyles
    cleanup: false
    strip_original_style_tags: false
    exclude_media_queries: true

统计信息

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

GitHub 信息

  • Stars: 11
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-12-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固