承接 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
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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