Skip to content
This repository has been archived by the owner on Apr 11, 2022. It is now read-only.

Render your MJML template on custom PHP server.

License

Notifications You must be signed in to change notification settings

baraja-core/mjml-php-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MJML PHP server

Integrity check

Imagine you want render your MJML template on your private PHP server, now you can.

Please note: This package is not officially supported as of 2021-04-01. Install MJML manually on the server, or use Docker.

How to install

Install this package by Composer or download manually:

composer require baraja-core/mjml-php-server

Your server must use PHP 7.1 or better and installed MJML by Node modules (internal command is /node_modules/.bin/mjml).

Server configuration

Your server must support the shell_exec() function and Apache or Ngnix.

In your root directory of webserver please configure calling this internal logic. For instance this way (most simply solution):

<?php

require __DIR__ . '/src/MjmlServer.php'; // Path to this package

$cacheDir = __DIR__ . '/cache'; // Or can be null

(new \Baraja\Mjml\MjmlServer($cacheDir))->run();

Now your MJML server is configured.

When you call URI /api/v1/mjml by HTTP request on your domain, you can render your MJML template.

API usage

API must be called by POST method with body parameter template with template.

Final template will be returned by json response.

Some example:

Call URI /api/v1/mjml with parameter:

MJML API Response example

Minimal template configuration:

<mjml>
    <mj-body>
        <mj-section>
            <mj-column>
                <mj-text>Hello World</mj-text>
            </mj-column>
        </mj-section>
    </mj-body>
</mjml>