Polybox Documentation

Getting started

Polybox created on the Mailjet. MJML is the only framework that makes responsive email easier. The files have the *.mjml extension. There are also added files in the *.html format for those who are used to work in this format. Many resources are existing where you can convert *.mjml files to *.html and vice versa. In this build you can find anything you need for a beautiful email list template. All you need to do is collect blocks from a different section and your mailing list will be ready for use. The templates are sized to a maximum width of 600px and responsive for mobile devices.

Getting Started for MJML#

Getting Started for HTML#

  • Open your code editor

  • Navigate to the project

File structure

Polymails
├── cover.jpg
├── Contents
│   └── Contents (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── CTA Blocks
│   └── CTA Blocks (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Dividers
│   └── Dividers (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── E-commerce
│   └── E-commerce (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Features
│   └── Features (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Footers
│   └── Footers (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Headers
│   └── Headers (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── News
│   └── News (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Styleguide
│   └── Styleguide (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Transactions
│   └── Transactions (Web version)
        ├── index.html
        └── index.mjml
│   └── img
        ├── *.png
        └── *.jpg
│   ├── index.html
│   └── index.mjml
├── Emails
│   └── App tutorial
        └── App tutorial (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── App update
        └── App update (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Blog digest
        └── Blog digest (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Delivery summary
        └── Delivery summary (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Desktop features
        └── Desktop features (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Fashion
        └── Fashion (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Fashion - Version 2
        └── Fashion - Version 2 (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Message notification
        └── Message notification (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── News digest
        └── News digest (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Order summary
        └── Order summary (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Plans
        └── Plans (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Product announcement
        └── Product announcement (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Product announcement - Version 2
        └── Product announcement - Version 2 (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Product announcement - Version 3
        └── Product announcement - Version 3 (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Product announcement - Version 4
        └── Product announcement - Version 4 (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Promo sale
        └── Promo sale (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Subscription renewed
        └── Subscription renewed (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
│   └── Taxi
        └── Taxi (Web version)
            ├── index.html
            └── index.mjml
        └── img
            ├── *.png
            └── *.jpg
        ├── index.html
        └── index.mjml
    

in * (Web version) folder all pictures in the file are attached as base64

in the Emails folder all blocks are assembled into a ready-made template.

Introduction

Each folder has index.mjml and index.html files.
If you work with index.mjml files you just need to copy the block that you need. Example: Open the Header folder and then the index.mjml file, and go to the mjml-body. All blocks of this section are collected here.


                                
<!--Header 1 -->
<mj-wrapper background-color="#ffffff" padding="20px 20px 0px">
    <....>
</mj-wrapper>
<!--Header 1 -End -->
            
<!--Header 2 --> <mj-wrapper background-color="#ffffff" padding="20px 20px 0px"> <....> </mj-wrapper> <!--Header 2 -End -->
<!--Header 3 --> <mj-wrapper background-color="#ffffff" padding="20px 20px 0px"> <....> </mj-wrapper> <!--Header 3 -End --> and so on.

If you work with index.html files you just need to copy the block that you need. Example: Open the Header folder and then the index.html file, and go to the body. All blocks of this section are collected here.


                                
<!--Header 1 -->
<!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"><tr>
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
<div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; ">
    <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color:
        #ffffff; width: 100%">
        <tbody>
            <....>
        </tbody>
    </table>
</div>
<!--[if mso | IE]--></td></tr></table><![endif]-->
<!--Header / 1 -End-->

<!--Header 2 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"><tr> <td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; "> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color: #ffffff; width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Header / 2 -End-->
<!--Header 3 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"><tr> <td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; "> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color: #ffffff; width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Header / 3 -End--> and so on.

MJML

An example of creating a page consisting of 4 blocks


                                

Head of the document

<mjml> <mj-head> <mj-title>Delivery summary</mj-title> <mj-attributes> <mj-all font-family="Helvetica, Verdana, Arial,sans-serif"></mj-all> <mj-all padding="0px"></mj-all> <mj-section padding="0px"></mj-section> <mj-image alt="" padding="0px"></mj-image> <mj-class name="h1" font-family="Helvetica" font-weight="normal" font-size="48px" line-height="58px" letter-spacing="-1.65px" color="#000000"></mj-class> <mj-class name="h2" font-family="Helvetica" font-weight="normal" font-size="38px" line-height="46px" letter-spacing="-1.10px" color="#000000"></mj-class> <mj-class name="h3" font-family="Helvetica" font-weight="normal" font-size="32px" line-height="44px" letter-spacing="-1.05px" color="#000000"></mj-class> <mj-class name="h4" font-family="Helvetica" font-weight="normal" font-size="24px" line-height="32px" letter-spacing="-0.75px" color="#000000"></mj-class> <mj-class name="p" font-family="Helvetica" font-weight="normal" font-size="16px" line-height="25px" letter-spacing="-0.3px" color="#000000"></mj-class> <mj-class name="descr" font-family="Helvetica" font-weight="normal" font-size="14px" line-height="22px" letter-spacing="-0.3px" color="#000000"></mj-class> <mj-class name="descr-up" font-family="Helvetica" font-weight="normal" font-size="14px" line-height="25px" letter-spacing="-0.1px" text-transform="uppercase" color="#000000"></mj-class> <mj-class name="link" font-family="Helvetica" font-weight="normal" font-size="16px" line-height="25px" letter-spacing="-0.3px" text-decoration="underline" color="#000000"></mj-class> <mj-class name="button" style="display:inline-block;" style="box-sizing:border-box;"></mj-class> </mj-attributes> <mj-style inline="inline">a { text-decoration: none; color: inherit;}</mj-style> <mj-style inline="inline">.link-nostyle { color: inherit; text-decoration:none }; /* Apple specific Links */ .apple-link-black a { color:#111111 !important; text-decoration:none; } .apple-link-gray a { color:#999999 !important; text-decoration:none; } .apple-link-white a { color:#ffffff !important;text-decoration:none; } .apple-link-tan a { color: #aa6034 !important; text-decoration: none; } .apple-link-light-grey a { color: #c7c8ca; text-decoration: none; } .preheader {display:none !important; visibility:hidden; mso-hide:all; max-height:0px; max-width:0px; opacity:0; overflow:hidden; width:100%;} img[class="img-max"] { max-width: 100% !important; width: 100% !important; height: auto !important; } </mj-style> </mj-head> <mj-body background-color="#f3f4f8"> Add header - Header / 3 from the -Headers folder <!--Header 3 --> <mj-wrapper background-color="#ffffff" padding="20px 20px 0px"> <....> </mj-wrapper> <!--Header 3 -End --> Add the second block. For example, the -Transactions / 3 from the Transactions folder <!--Transactions / 3 --> <mj-wrapper background-color="#ffffff" padding="28px 20px 36px"> <....> </mj-wrapper> <!--Transactions / 3 - End --> Add one more block. For example, the -Transactions / 6 block from the Transactions folder <!--Transactions / 6 --> <mj-wrapper background-color="#ffffff" padding="28px 20px 36px"> <....> </mj-wrapper> <!--Transactions / 6 -End --> Add a footer. For example footer -Footer / 3 from folder Footers <!--Footer / 3 --> <mj-wrapper> <....> <mj-wrapper> <!--Footer / 3 -End --> <mj-body> <mjml>

Here you are, your template is ready.


HTML

An example of creating a page consisting of 4 blocks


                                

Head of the document

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> <head> <title>Delivery summary</titled> <--[if !mso]><!-- --><meta http-equiv="X-UA-Compatible" content="IE=edge" /><!--<![endif]--> <meta http-equiv="Content-Type"content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <style type="text/css"> #outlook a { padding: 0; } body { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } table, td { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } img { border: 0; height: auto;line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; } p { display: block; margin: 13px0; } </style> <!--[if mso]><xml><o:OfficeDocumentSettings><o:AllowPNG /> <o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml> <![endif]--> <!--[if lte mso 11]><style type="text/css"><.mj-outlook-group-fix { width: 100% !important; }></style> <![endif]--> <!--[if mso]><!--> <link href="https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700" rel="stylesheet" type="text/css" /> <style type="text/css"> @import url(https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700); </style> <![endif]--> <style type="text/css"> @media only screen and (min-width: 480px) { .mj-column-per-100 {width: 100% !important; max-width: 100%; } .mj-column-per-25 {width: 25% !important; max-width: 25%; } .mj-column-per-20 {width: 20% !important; max-width: 20%; } .mj-column-per-55 {width: 55% !important; max-width: 55%; } .mj-column-px-173 {width: 173px !important; max-width: 173px; } .mj-column-px-20 {width: 20px !important; max-width: 20px; } .mj-column-px-366 {width: 366px !important; max-width: 366px; } </style> <style type="text/css"> @media only screen and (max-width: 480px) { table.mj-full-width-mobile { width: 100% !important; } td.mj-full-width-mobile { width: auto !important; } } noinput.mj-menu-checkbox { display: block !important; max-height: none !important;visibility: visible !important; } @media only screen and (max-width: 480px) { .mj-menu-checkbox[type="checkbox"]~ .mj-inline-links { display: none !important; } .mj-menu-checkbox[type="checkbox"]:checked ~ .mj-inline-links, .mj-menu-checkbox[type="checkbox"] ~ .mj-menu-trigger { display: block !important; max-width: none !important; max-height: none !important; font-size: inherit!important; } .mj-menu-checkbox[type="checkbox"] ~ .mj-inline-links > a { display: block !important; } .mj-menu-checkbox[type="checkbox"]:checked~ .mj-menu-trigger .mj-menu-icon-close { display: block !important;} .mj-menu-checkbox[type="checkbox"]:checked~ .mj-menu-trigger .mj-menu-icon-open { display: none !important; } } </style> </head> <body style="background-color:#f3f4f8"> <div style="background-color: #f3f4f8"> Add header - Header / 3 from the - Headers folder <!--Header / 3 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"> <tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; "> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color:#ffffff; width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Header / 3 -End--> Add the second block. For example, the -Transactions / 3 block from the - Transactions folder <!--Transactions / 3 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"> <tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; "> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color: #ffffff; width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Transactions / 3 -End--> Add one more block. For example, the -Transactions / 6 block from the - Transactions folder <!--Transactions / 6 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"> <tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style=" background: #ffffff; background-color: #ffffff; margin: 0px auto; max-width: 600px; "> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background: #ffffff; background-color: #ffffff; width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Transactions / 6 -End--> Add a footer. For example footer -Footer / 3 from folder -Footers <!--Footer / 3 --> <!--[if mso | IE] --><table align="center" border="0" cellpadding="0" cellspacing="0" class="" style="width:600px;" width="600"> <tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]--> <div style="margin: 0px auto; max-width: 600px"> <table align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="width: 100%"> <tbody> <....> </tbody> </table> </div> <!--[if mso | IE]--></td></tr></table><![endif]--> <!--Footer / 3 -End--> </div> <body> <html>

Here you are, your template is ready.