diff --git a/.gitignore b/.gitignore index 496ee2c..e1d11f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -.DS_Store \ No newline at end of file +.DS_Store +node_modules +.gitignore diff --git a/email-inlined.html b/email-inlined.html index c0020b1..c81b48f 100644 --- a/email-inlined.html +++ b/email-inlined.html @@ -1,12 +1,12 @@ -<!DOCTYPE html> +<!doctype html> <html> <head> <meta name="viewport" content="width=device-width"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Simple Transactional Email</title> - <style type="text/css"> + <style> /* ------------------------------------- - INLINED WITH https://putsmail.com/inliner + INLINED WITH htmlemail.io/inline ------------------------------------- */ /* ------------------------------------- RESPONSIVE AND MOBILE FRIENDLY STYLES @@ -14,86 +14,105 @@ @media only screen and (max-width: 620px) { table[class=body] h1 { font-size: 28px !important; - margin-bottom: 10px !important; } + margin-bottom: 10px !important; + } table[class=body] p, - table[class=body] ul, - table[class=body] ol, - table[class=body] td, - table[class=body] span, - table[class=body] a { - font-size: 16px !important; } + table[class=body] ul, + table[class=body] ol, + table[class=body] td, + table[class=body] span, + table[class=body] a { + font-size: 16px !important; + } table[class=body] .wrapper, - table[class=body] .article { - padding: 10px !important; } + table[class=body] .article { + padding: 10px !important; + } table[class=body] .content { - padding: 0 !important; } + padding: 0 !important; + } table[class=body] .container { padding: 0 !important; - width: 100% !important; } + width: 100% !important; + } table[class=body] .main { border-left-width: 0 !important; border-radius: 0 !important; - border-right-width: 0 !important; } + border-right-width: 0 !important; + } table[class=body] .btn table { - width: 100% !important; } + width: 100% !important; + } table[class=body] .btn a { - width: 100% !important; } + width: 100% !important; + } table[class=body] .img-responsive { height: auto !important; max-width: 100% !important; - width: auto !important; }} + width: auto !important; + } + } + /* ------------------------------------- PRESERVE THESE STYLES IN THE HEAD ------------------------------------- */ @media all { .ExternalClass { - width: 100%; } + width: 100%; + } .ExternalClass, - .ExternalClass p, - .ExternalClass span, - .ExternalClass font, - .ExternalClass td, - .ExternalClass div { - line-height: 100%; } + .ExternalClass p, + .ExternalClass span, + .ExternalClass font, + .ExternalClass td, + .ExternalClass div { + line-height: 100%; + } .apple-link a { color: inherit !important; font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; - text-decoration: none !important; } + text-decoration: none !important; + } .btn-primary table td:hover { - background-color: #34495e !important; } + background-color: #34495e !important; + } .btn-primary a:hover { background-color: #34495e !important; - border-color: #34495e !important; } } + border-color: #34495e !important; + } + } </style> </head> - <body class="" style="background-color:#f6f6f6;font-family:sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.4;margin:0;padding:0;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;"> - <table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;background-color:#f6f6f6;width:100%;"> + <body class="" style="background-color: #f6f6f6; font-family: sans-serif; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;"> + <table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #f6f6f6;"> <tr> - <td style="font-family:sans-serif;font-size:14px;vertical-align:top;"> </td> - <td class="container" style="font-family:sans-serif;font-size:14px;vertical-align:top;display:block;max-width:580px;padding:10px;width:580px;Margin:0 auto !important;"> - <div class="content" style="box-sizing:border-box;display:block;Margin:0 auto;max-width:580px;padding:10px;"> + <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;"> </td> + <td class="container" style="font-family: sans-serif; font-size: 14px; vertical-align: top; display: block; Margin: 0 auto; max-width: 580px; padding: 10px; width: 580px;"> + <div class="content" style="box-sizing: border-box; display: block; Margin: 0 auto; max-width: 580px; padding: 10px;"> + <!-- START CENTERED WHITE CONTAINER --> - <span class="preheader" style="color:transparent;display:none;height:0;max-height:0;max-width:0;opacity:0;overflow:hidden;mso-hide:all;visibility:hidden;width:0;">This is preheader text. Some clients will show this text as a preview.</span> - <table class="main" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;background:#fff;border-radius:3px;width:100%;"> + <span class="preheader" style="color: transparent; display: none; height: 0; max-height: 0; max-width: 0; opacity: 0; overflow: hidden; mso-hide: all; visibility: hidden; width: 0;">This is preheader text. Some clients will show this text as a preview.</span> + <table class="main" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background: #ffffff; border-radius: 3px;"> + <!-- START MAIN CONTENT AREA --> <tr> - <td class="wrapper" style="font-family:sans-serif;font-size:14px;vertical-align:top;box-sizing:border-box;padding:20px;"> - <table border="0" cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;"> + <td class="wrapper" style="font-family: sans-serif; font-size: 14px; vertical-align: top; box-sizing: border-box; padding: 20px;"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;"> <tr> - <td style="font-family:sans-serif;font-size:14px;vertical-align:top;"> - <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Hi there,</p> - <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Sometimes you just want to send a simple HTML email with a simple design and clear call to action. This is it.</p> - <table border="0" cellpadding="0" cellspacing="0" class="btn btn-primary" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;box-sizing:border-box;width:100%;"> + <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;"> + <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Hi there,</p> + <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Sometimes you just want to send a simple HTML email with a simple design and clear call to action. This is it.</p> + <table border="0" cellpadding="0" cellspacing="0" class="btn btn-primary" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; box-sizing: border-box;"> <tbody> <tr> - <td align="left" style="font-family:sans-serif;font-size:14px;vertical-align:top;padding-bottom:15px;"> - <table border="0" cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;width:auto;"> + <td align="left" style="font-family: sans-serif; font-size: 14px; vertical-align: top; padding-bottom: 15px;"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: auto;"> <tbody> <tr> - <td style="font-family:sans-serif;font-size:14px;vertical-align:top;background-color:#ffffff;border-radius:5px;text-align:center;background-color:#3498db;"> <a href="http://htmlemail.io" target="_blank" style="text-decoration:underline;background-color:#ffffff;border:solid 1px #3498db;border-radius:5px;box-sizing:border-box;color:#3498db;cursor:pointer;display:inline-block;font-size:14px;font-weight:bold;margin:0;padding:12px 25px;text-decoration:none;text-transform:capitalize;background-color:#3498db;border-color:#3498db;color:#ffffff;">Call To Action</a> </td> + <td style="font-family: sans-serif; font-size: 14px; vertical-align: top; background-color: #3498db; border-radius: 5px; text-align: center;"> <a href="http://htmlemail.io" target="_blank" style="display: inline-block; color: #ffffff; background-color: #3498db; border: solid 1px #3498db; border-radius: 5px; box-sizing: border-box; cursor: pointer; text-decoration: none; font-size: 14px; font-weight: bold; margin: 0; padding: 12px 25px; text-transform: capitalize; border-color: #3498db;">Call To Action</a> </td> </tr> </tbody> </table> @@ -101,38 +120,40 @@ </tr> </tbody> </table> - <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">This is a really simple email template. Its sole purpose is to get the recipient to click the button with no distractions.</p> - <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Good luck! Hope it works.</p> + <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">This is a really simple email template. Its sole purpose is to get the recipient to click the button with no distractions.</p> + <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;">Good luck! Hope it works.</p> </td> </tr> </table> </td> </tr> - <!-- END MAIN CONTENT AREA --> + + <!-- END MAIN CONTENT AREA --> </table> + <!-- START FOOTER --> - <div class="footer" style="clear:both;padding-top:10px;text-align:center;width:100%;"> - <table border="0" cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;"> + <div class="footer" style="clear: both; Margin-top: 10px; text-align: center; width: 100%;"> + <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;"> <tr> - <td class="content-block" style="font-family:sans-serif;font-size:14px;vertical-align:top;color:#999999;font-size:12px;text-align:center;"> - <span class="apple-link" style="color:#999999;font-size:12px;text-align:center;">Company Inc, 3 Abbey Road, San Francisco CA 94102</span> - <br> - Don't like these emails? <a href="http://i.imgur.com/CScmqnj.gif" style="color:#3498db;text-decoration:underline;color:#999999;font-size:12px;text-align:center;">Unsubscribe</a>. + <td class="content-block" style="font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 10px; font-size: 12px; color: #999999; text-align: center;"> + <span class="apple-link" style="color: #999999; font-size: 12px; text-align: center;">Company Inc, 3 Abbey Road, San Francisco CA 94102</span> + <br> Don't like these emails? <a href="http://i.imgur.com/CScmqnj.gif" style="text-decoration: underline; color: #999999; font-size: 12px; text-align: center;">Unsubscribe</a>. </td> </tr> <tr> - <td class="content-block powered-by" style="font-family:sans-serif;font-size:14px;vertical-align:top;color:#999999;font-size:12px;text-align:center;"> - Powered by <a href="http://htmlemail.io" style="color:#3498db;text-decoration:underline;color:#999999;font-size:12px;text-align:center;text-decoration:none;">HTMLemail</a>. + <td class="content-block powered-by" style="font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 10px; font-size: 12px; color: #999999; text-align: center;"> + Powered by <a href="http://htmlemail.io" style="color: #999999; font-size: 12px; text-align: center; text-decoration: none;">HTMLemail</a>. </td> </tr> </table> </div> <!-- END FOOTER --> - <!-- END CENTERED WHITE CONTAINER --> + + <!-- END CENTERED WHITE CONTAINER --> </div> </td> - <td style="font-family:sans-serif;font-size:14px;vertical-align:top;"> </td> + <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;"> </td> </tr> </table> </body> -</html> \ No newline at end of file +</html> diff --git a/email.html b/email.html index cba684b..8059d64 100644 --- a/email.html +++ b/email.html @@ -20,7 +20,7 @@ font-size: 14px; line-height: 1.4; margin: 0; - padding: 0; + padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; } @@ -63,7 +63,7 @@ HEADER, FOOTER, MAIN ------------------------------------- */ .main { - background: #fff; + background: #ffffff; border-radius: 3px; width: 100%; } @@ -71,9 +71,14 @@ box-sizing: border-box; padding: 20px; } + .content-block { + padding-bottom: 10px; + padding-top: 10px; + } + .footer { clear: both; - padding-top: 10px; + Margin-top: 10px; text-align: center; width: 100%; } .footer td, @@ -260,7 +265,7 @@ font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; - text-decoration: none !important; } + text-decoration: none !important; } .btn-primary table td:hover { background-color: #34495e !important; } .btn-primary a:hover { @@ -331,7 +336,7 @@ </table> </div> <!-- END FOOTER --> - + <!-- END CENTERED WHITE CONTAINER --> </div> </td> diff --git a/readme.md b/readme.md index 332cafe..9461ccf 100644 --- a/readme.md +++ b/readme.md @@ -1,38 +1,38 @@ # Really Simple Responsive HTML Email Template -Sometimes all you want is a really simple responsive HTML email template. Here it is. +Sometimes all you want is a really simple responsive HTML email template. Here it is. [See live preview](http://leemunroe.github.io/responsive-html-email-template/email.html). <img src="https://cloud.githubusercontent.com/assets/15963/26765586/c6484a96-4933-11e7-80e0-2f7509d24280.png" alt="Simple HTML Email" width="500"> -## Sending emails using a marketing service like Campaign Monitor or Mailchimp? +## Sending emails directly from your codebase or using a developer service? -Use the template `email.html` as is. They'll put the CSS inline for you when you put together your campaign. +For an API service (like Mailgun) **you need to inline the CSS before sending**. See `email-inlined.html` for an example. +You can use CSS inliner tools like [Responsive CSS Inliner](https://htmlemail.io/inline/) or [Juice](https://github.com/Automattic/juice) to do this automatically. -## Sending emails directly from your app or using a developer service? +* Copy all of email.html +* Paste the HTML as the source into the inliner +* Copy the HTML output and use this as the email template you send -For an API like [Mailgun](http://www.mailgun.com) **you need to inline the CSS before sending**. See `email-inlined.html` for an example. -You can use inliner tools like [Responsive CSS Inliner](https://htmlemail.io/inline/) or [Juice](https://github.com/Automattic/juice) to do this automatically. +## Sending emails using a marketing service like Mailchimp? -* Copy all of email.html -* Paste the HTML as the source into Putsmail -* Copy the HTML results and use them in your email template +Use the template `email.html` as is. They'll put the CSS inline for you when you put together your campaign. ## Tried and tested on all major email clients -Tested on mobile, desktop and web. +Tested on mobile, desktop and web.  -[See the Litmus test results](https://litmus.com/checklist/emails/public/d432046). +[See the Litmus test results](https://litmus.com/checklist/emails/public/cc3e30f). ## More HTML email resources * [More Responsive HTML Email Templates](http://htmlemail.io) -* [Things I've Learned About Building HTML Emails](http://www.leemunroe.com/building-html-email/) +* [An Introduction To Building And Sending HTML Email For Web Developers](https://www.smashingmagazine.com/2017/01/introduction-building-sending-html-email-for-web-developers/) * [Grunt Email Design Workflow](https://github.com/leemunroe/grunt-email-design)