2017 © Pedro Peláez
 

bundle swift-css-inliner-bundle

A Swiftmailer plugin that provide css inline feature

image

trt/swift-css-inliner-bundle

A Swiftmailer plugin that provide css inline feature

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 7 Forks
  • 0 Open issues
  • 5 Versions
  • 4 % Grown

The README.md

swift-css-inliner-bundle

Latest Stable Version Build Status Scrutinizer Quality Score Total Downloads, (*1)

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., (*2)

Ex. using the Zurb ink mail template Before After Plugin, (*3)

1. Installation

Add the dependency within the composer.json

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

run php composer.phar install, (*4)

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>

$name , (*5)

") ; $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, (*6)

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

Add your style explicit

ATTENTION, (*7)

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

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

Send the message.

``` php $this->get('mailer')->send($message);, (*9)


#4. Configuration options No configuration is necessary. It is possible to customize the behaviour of the [CssToInlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) class. This shows the default options: ``` yaml # app/config/config.yml trt_swift_css_inliner: inliner_class: TijsVerkoyen\CssToInlineStyles\CssToInlineStyles cleanup: false strip_original_style_tags: false exclude_media_queries: true

The Versions

15/09 2015

dev-master

9999999-dev

A Swiftmailer plugin that provide css inline feature

  Sources   Download

MIT

The Requires

 

The Development Requires

15/09 2015

v0.4

0.4.0.0

A Swiftmailer plugin that provide css inline feature

  Sources   Download

MIT

The Requires

 

The Development Requires

08/02 2014

v0.3

0.3.0.0

A Swiftmailer plugin that provide css inline feature

  Sources   Download

MIT

The Requires

 

The Development Requires

24/01 2014

v0.2

0.2.0.0

A Swiftmailer plugin that provide css inline feature

  Sources   Download

MIT

The Requires

 

The Development Requires

19/12 2013

v0.1

0.1.0.0

A Swiftmailer plugin that provide css inline feature

  Sources   Download

MIT

The Requires

 

The Development Requires